home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / BUSINESS / REBEL.ARJ / REBEL.DOC < prev    next >
Text File  |  1992-02-25  |  147KB  |  2,977 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                        _ __     __     __      __      _
  13.                       ' )  )   /  `   /  )    /  `    / `    tm
  14.                        /--'   /--    /--<    /--     /
  15.                      /    \  (____, (____)  (____,  (____,
  16.  
  17.  
  18.                                   Version 1.0la
  19.  
  20.  
  21.  
  22.  
  23.                               U S E R    M A N U A L
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.                          (c) Copyright 1992  Brad L. Smith
  32.                                  All Rights Reserved
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.                                  DISCLAIMER
  40.  
  41.     THIS SOFTWARE AND MANUAL IS LICENSED "AS IS" AND WITHOUT ANY EXPRESSED
  42.     OR IMPLIED WARRANTIES WHATSOEVER.  THE USER MUST ASSUME THE ENTIRE RISK:
  43.     1) OF USING THIS PRODUCT;  2) OF ANY DAMAGES RESULTING FROM ITS USES;
  44.     3) FOR ITS FITNESS FOR ANY PARTICULAR PURPOSE.  UNDER NO CIRCUMSTANCE,
  45.     WILL LIABILITY EXCEED THE ORIGINAL REGISTRATION FEE.
  46.  
  47.                              LICENSE  AGREEMENT
  48.  
  49.     This is copyrighted software, distributed as shareware, at the lowest 
  50.     possible price.  Unregistered users are granted a limited license to 
  51.     EVALUATE this product on a TRIAL BASIS ONLY.  Unmodified copies of the 
  52.     executable (.EXE) and documentation (.DOC) files may be distributed in 
  53.     both the United States and Canada - provided that no payment, other than 
  54.     for the media, is received. This software may not be reverse engineered, 
  55.     altered, or included as a part of any product or service without the 
  56.     expressed written consent of the copyright holder.  Registered users are 
  57.     granted a nontransferable license to use this version of REBEL for life. 
  58.  
  59.     -----------------------------------------------------------------------
  60.  
  61.  
  62.          Name:  _____________________________________________________
  63.  
  64.          (Company:  _________________________________________________)
  65.  
  66.          Address:  __________________________________________________
  67.  
  68.          City:  _______________________  State: ___  Zip:  __________
  69.  
  70.          Telephone:  (_____)  ____________________
  71.  
  72.  
  73.          Disk (check one) 3.5" ___ or  5.25" ___
  74.  
  75.  
  76.                License            Number       Each         Total
  77.  
  78.          Individual  (1 user)    _________    $25.00     ____________
  79.  
  80.          Site (up to 5 users)    _________    $50.00     ____________
  81.  
  82.          Site (up to 20 users)   _________   $100.00     ____________
  83.  
  84.                                Shipping and Handling:           $5.00
  85.  
  86.                                                Total:     ___________
  87.  
  88.  
  89.      REBEL SOFTWARE  -  P.O. Box 566  -  Fort Collins, CO  -  80522-0566
  90.     -----------------------------------------------------------------------
  91.  
  92.     As a registered users, you will receive discounts on future releases and
  93.     a special telephone support number. Your comments are always appreciated!
  94.  
  95.  
  96.                                                    ______________________
  97.     ______________________________________________/   TABLE OF CONTENTS
  98.  
  99.  
  100.  
  101.  
  102.  
  103.                   Chapter 1   INTRODUCTION
  104.  
  105.                   Chapter 2   GETTING STARTED
  106.  
  107.                   Chapter 3   TUTORIAL
  108.  
  109.                   Chapter 4   FUNCTION KEY MENUS    
  110.  
  111.                        1   CELL       (change cell display attributes)
  112.                        2   EDIT       (edit/delete/copy/shift cells)
  113.                        3   FILE       (load/save worksheets)
  114.                        6   WINDOWS    (set column width; create windows)
  115.                        7   UTILITIES  (view memory; sum/recalc cells)
  116.                        8   DEFAULT    (set global default values)
  117.                        9   FORMATS    (set numeric/date/time displays)
  118.  
  119.                   Chapter 5   EDIT MODE
  120.  
  121.                   Chapter 6   TECHNICAL INFORMATION 
  122.  
  123.                        1   Cell Types
  124.                        2   Cell Addresses
  125.                        3   Operators
  126.                        4   Formulas
  127.                        5   Arrays
  128.                        6   Multiple Worksheets
  129.                        7   Range Operations
  130.                        8   Direct Cell Addresses
  131.                        9   Indirect Cell Addresses
  132.                       10   When are Formulas Recalculated?
  133.                       11   Forcing Formulas to Recalculate  
  134.                       12   Optimizing your worksheet
  135.                       13   Miscellaneous Topics
  136.  
  137.                   Chapter 7   SHORT CUT COMMANDS 
  138.  
  139.                   Chapter 8   FUNCTIONS
  140.  
  141.                        1   Math
  142.                        2   Trig
  143.                        3   Financial
  144.                        4   Date
  145.                        5   Time
  146.                        6   String
  147.                        7   Misc
  148.  
  149.  
  150.  
  151.                                                 _________________________    
  152.     ___________________________________________/  Chapter 1  INTRODUCTION
  153.  
  154.  
  155.     The way in which spreadsheets manipulate data has changed little over 
  156.     the years.  This is somewhat surprising given the advances that have 
  157.     been made in almost every other area of the computer field.  Just pick 
  158.     up the oldest spreadsheet manual you can find and notice how similar
  159.     the formulas are to the ones you can write today.  REBEL has attempted
  160.     to address this problem by abandoning the de facto standard that has
  161.     been adopted over the past decade and replacing it with a simpler, more
  162.     powerful syntax.  A major effort has gone into making this one of the
  163.     easiest (if not THE easiest) spreadsheet there is to learn; as well as,
  164.     one of the most powerful 'pure' spreadsheets you'll ever use.  You will
  165.     find that the new syntax used by REBEL resembles a true programming 
  166.     language that builds on a few simple rules to perform more and more 
  167.     complex operations.  Here are just a few examples: 
  168.  
  169.  
  170.          CELL ADDRESSES
  171.  
  172.                While most spreadsheets on the market today use letters
  173.                to refer to the columns of other cells, REBEL uses
  174.                numbers (e.g. 'AB12' would be equivalent to [12,28] in
  175.                REBEL - row 12 column 28).
  176.  
  177.  
  178.          INDIRECT CELL ADDRESSING
  179.  
  180.                The ROW and/or COLUMN fields of a Cell Address can
  181.                themselves be expressions, allowing Cell Addresses to
  182.                be nested.  This means that a cell reference can vary,
  183.                depending on the values of other cells (very handy for
  184.                table lookups).
  185.  
  186.                         [ROW, [row,column] ]
  187.                                \__________\
  188.                                             \__ The value from this
  189.                                                 cell will be used as
  190.                                                 COLUMN number
  191.  
  192.          ARRAYS
  193.  
  194.                Upto 8000 values (array elements) can be assigned to each
  195.                cell!  Each of these values can be accessed by including
  196.                the optional 3rd Array Element field in the Cell Address:
  197.  
  198.                               [row,column,ELEMENT]
  199.  
  200.  
  201.          MULTIPLE WORKSHEETS
  202.  
  203.                Upto 4 separate worksheets can be loaded at one time.
  204.                Cells from any of these worksheets can be individually
  205.                addressed by including the optional 4th Worksheet Level
  206.                field in Cell Address:
  207.  
  208.                            [row,column,element,WORKSHEET]
  209.  
  210.                NOTE:  Both the 'Array Element' and 'Worksheet' fields of
  211.                a Cell Address are optional.  Their values default to
  212.                zero if not included.
  213.  
  214.  
  215.          PROGRAMMABLE RANGE OPERATIONS
  216.  
  217.                A 'Range Operation' can be defined that assigns a series of
  218.                'formulas' to a GROUP of cells which returns a single value
  219.                upon completion.  The general form of this 'Range Operation'
  220.                is similar to that of a standard Cell Address and can be
  221.                used within other formulas in much the same way. 
  222.  
  223.                           [ Range; formula1; formula2; etc. ]
  224.  
  225.  
  226.          OVER THIRTY (30+) OPERATORS:
  227.  
  228.                Unary         !   +   -
  229.                Arithmetic   **   *    /    %   +    -
  230.                Relational    >   >=   <=   <   ==   !=
  231.                Logical      &&   ||
  232.                Bitwise      <<   >>   &   |
  233.                Ternary      ?:;
  234.                Assignment    =   +=  -=  *=  /=  %=  <<=  >>=  &=  |= 
  235.  
  236.  
  237.          OVER FIFTY (50+) Math, Trig, Financial, String, Date and Time
  238.                functions.
  239.  
  240.  
  241.          VARIABLE LABELS that are rewritten each time the worksheet is
  242.               recalculated
  243.  
  244.  
  245.     REBEL does not stop here, however.  Every effort has been made to make
  246.     this the simplest spreadsheet you have ever used.  Function keys are
  247.     designed to act like built in macros that perform complex editing
  248.     tasks, which you would otherwise be forced to develop yourself.
  249.  
  250.          SHIFT cells around your worksheet by pressing a single key.
  251.  
  252.          UNDELETE cells mistakenly lost
  253.  
  254.          SEARCH and REPLACE (with wildcards)
  255.  
  256.          CUT and PASTE editing
  257.  
  258.      and more . . .
  259.  
  260.          SPLIT SCREENS  (unlimited)
  261.  
  262.          MINIMAL RECALC
  263.  
  264.          ERROR MESSAGES
  265.  
  266.          SINGLE STEP FORMULA DEBUGGER !
  267.  
  268.  
  269.                                              _____________________________
  270.     ________________________________________/  Chapter 2   GETTING STARTED
  271.  
  272.     
  273.     When REBEL is first invoked, you will be presented with an empty 
  274.     worksheet at the 'Root Menu Level'.  Each cell can have either a 
  275.     'label' (text string) or a 'formula' associated with it.  Formulas 
  276.     consist of numbers or expressions that may or may not be based on the
  277.     results of other cells. 
  278.  
  279.     The screen is divided into three regions:  1) the "Function Key Menu" 
  280.     at the top;  2) the "Input Line" for entering text or formulas; and
  281.     3) the "Cells" that comprise the worksheet.  The options, displayed
  282.     by the Function Key Menus, if written entirely in upper case letters,
  283.     will re-assign a new set of options to each function key; or, if they
  284.     are abbreviated in both upper and lower case letters, they will perform
  285.     a specific action.  The first menu you will encounter upon entering
  286.     the spreadsheet is referred to as the "Root Menu".
  287.  
  288.  
  289.                        _______   _______   _______             _______
  290.                       |  f1   | |  f2   | |  f3   |           |  f0   |
  291.                       | CELL  | | EDIT  | | FILE  |   . . .   | EXIT  | 
  292.      (Worksheet       |__________________________________________________
  293.       Level)   --->   <4>______1__________2_________3__________4_________ 
  294.                       |1|
  295.                       |2|                                   "The Root Menu 
  296.      _______   _______   _______             _______         Function Key
  297.     |  f1   | |  f2   | |  f3   |           |  f0   |   <--  Menu"
  298.     | CELL  | | EDIT  | | FILE  |   . . .   | EXIT  | 
  299.     |_________________________________________________  <-- "Input Line"
  300.     <1>______1__________2_________3__________4________  <--  (Column Bar)
  301.     |1|
  302.     |2|  <--  (Row Bar)            15.00
  303.     |3|                       __________
  304.     |4|                      |     25.00|  <--  "Cell Pointer"
  305.     |5|                                          (active cell)
  306.     |6|
  307.      :  
  308.     [2,3]+10   <--   (formula of active cell)
  309.    
  310.  
  311.      
  312.     Two cursors are displayed on the screen.  The large highlighted area on 
  313.     the worksheet is referred to as the "Cell Pointer".  It points to the 
  314.     currently active cell that is about to accept a new or modified entry. 
  315.     This cursor (or pointer) can be moved at any time with arrow keys on
  316.     your keyboard.  The second, smaller cursor is located on the "Input
  317.     Line" (just below the Function Key Menu).  It is used to enter a text
  318.     or formulas into the cell highlighted by the Cell Pointer. 
  319.     
  320.     The remaining portion of this section will provide you with a quick 
  321.     overview of some of the basics you will need to get started.  You'll
  322.     learn how to start REBEL, how to move between worksheet levels, how to
  323.     use the Function Key Menus, and how to enter data.  For more details
  324.     on each of these topics, refer to the Technical Information Section
  325.     (Chapter 6). 
  326.  
  327.  
  328.     ______________________________________________________________________
  329.                 |
  330.                 |
  331.     Starting    |    If you will be starting this program from a floppy
  332.     from floppy |    disk (assumed to be in drive A), type the following
  333.     drive       |    sequence of commands from your computer's system 
  334.                 |    prompt: 
  335.                 | 
  336.                 |       A:         <Enter>      (moves you to Drive A)
  337.                 |       CD  \      <Enter>      (change to root directory)
  338.                 |
  339.                 |       REBEL      <Enter>      (for color mode)
  340.                 |                                      or
  341.                 |       REBEL  -b  <Enter>      (for black and white mode)
  342.                 |
  343.                 |
  344.     Installing  |    To permanently install REBEL on your hard drive (assumed 
  345.     REBEL on a  |    to be Drive C), you need only copy the .EXE and .DOC 
  346.     Hard Disk   |    files from the floppy disk.  The following series of
  347.                 |    commands is but one example of how to do this: 
  348.                 |
  349.                 |       C:         <Enter>      (moves you to Drive C)
  350.                 |       CD  \DOS   <Enter>      (change to a subdirectory
  351.                 |                                called: 'DOS' if it exists)
  352.                 |
  353.                 |       COPY  A:*.EXE  *.*   <Enter>
  354.                 |       COPY  A:*.DOC  *.*   <Enter>
  355.                 |
  356.                 |    (If you create a separate subdirectory for the REBEL
  357.                 |    .EXE and .DOC files, be sure to include it in your
  358.                 |    search path; otherwise, you'll need to move to THAT
  359.                 |    directory to execute the program.)
  360.                 |
  361.                 |
  362.     Root Menu   |    A variety of operations can be performed using the
  363.                 |    function keys on your keyboard.  The specific task
  364.                 |    assigned to each of these keys can vary, however,
  365.                 |    depending on the menu displayed at the top of your
  366.                 |    screen.  The first menu that appears when you startup
  367.                 |    the program is called the 'Root Menu'.
  368.                 |       _______   _______   _______             _______
  369.                 |      |  f1   | |  f2   | |  f3   |           |  f0   |
  370.                 |      | CELL  | | EDIT  | | FILE  |   . . .   | EXIT  | 
  371.                 |
  372.                 |    This menu is used (as a starting point) to re-assign
  373.                 |    new operations to the function keys.  The words,
  374.                 |    highlighted in each of the boxes, are designed to
  375.                 |    briefly describe the type of commands that you can
  376.                 |    expect to gain access to - if pressed.  Notice that
  377.                 |    the descriptive words of this menu are written in
  378.                 |    UPPER CASE letters - as opposed to both upper and
  379.                 |    lower case letters used to describe commands.
  380.                 |  
  381.                 |
  382.     Return to   |    In most menus, the F1 function key (DONE) will return
  383.     Root Menu   |    you to the Root Menu.
  384.                 |
  385.                 |
  386.     Exit        |    You can terminate your session by pressing the F10
  387.                 |    function key (EXIT) from the "Root Menu".
  388.                 |
  389.                 |
  390.     Moving the  |    You can move the Cell Pointer from cell to cell with 
  391.     Cell        |    the Arrow Keys or jump from screen to screen with the 
  392.     Pointer     |    following keys:
  393.                 |
  394.                 |         <Pg Up>     moves Cell Pointer UP one screen.
  395.                 |         <Pg Dn>     moves Cell Pointer DOWN one screen.
  396.                 |         <Home>      moves Cell Pointer LEFT one screen.
  397.                 |         <End>       moves Cell Pointer RIGHT one screen.
  398.                 |
  399.                 |    NOTE:  You can not move the Cell Pointer with the arrow
  400.                 |    keys once you have started an entry.
  401.                 |
  402.                 |
  403.     Using the   |    You can move the Cell Pointer directly to any cell on
  404.      "GOTO"     |    worksheet, without using the arrow keys.  This can be
  405.     Command     |    very handy if you need to move the Cell Pointer a long
  406.                 |    distance or to another worksheet at a different level.
  407.                 |    To do this, simply type a slash (/) at the Input Line
  408.                 |    (located above the Column Bar).  You will then be asked
  409.                 |    to enter the Row, Column, and Worksheet Level numbers
  410.                 |    to move the Cell Pointer to.
  411.                 |
  412.                 |    NOTE: You can accept the Row, Column, of Level number
  413.                 |    that is enclosed within the square brackets of each
  414.                 |    prompt by pressing ONLY the <Enter> key.  Otherwise,
  415.                 |    type the number you want at the prompt and then press
  416.                 |    <Enter>.
  417.                 |
  418.                 |
  419.     Escaping    |    If you do not wish to complete an option that is
  420.     from a      |    prompting you for information, press the <Esc> key
  421.     Prompt      |    to abort.  You will be returned to the Input Line.
  422.                 |
  423.                 |
  424.     Entering    |    All cell entries are made from the Input Line (above
  425.     Formulas    |    the Column Bar).  A special 'Edit Mode' is also
  426.     and Labels  |    available to modify existing entries  (refer to
  427.                 |    Chapter 5).
  428.                 |
  429.                 |      IMPORTANT!  Never being a decimal number with
  430.                 |      a zero (unless, of course, the number is zero).
  431.                 |      That is, if you want to enter "45", don't type
  432.                 |      it as "045" (if you do, you'll get the decimal
  433.                 |      equivalent of OCTAL 45).  Refer to Section 6.13
  434.                 |      "Misc Topics" for an expanded discussion.
  435.                 |
  436.     Referencing |    The value of any cell within the spreadsheet can be
  437.     values in   |    used in another cell's formula by surrounding the
  438.     other cells |    ROW and COLUMN number (of the cell that contains
  439.                 |    the value) with square brackets [].  This is called
  440.                 |    a "Cell Address".
  441.                 |
  442.                 |                        [row,column]
  443.                 |
  444.                 |         Example:  If you want to multiply the value in
  445.                 |         cell [1,2] (row 1, column 2) by 5 and display
  446.                 |         the answer at your current cell location, the
  447.                 |         formula might look something like this:
  448.                 |
  449.                 |                         [1,2] * 5
  450.                 |
  451.                 |
  452.     Cell Types  |    A cell takes on one of three possible 'CELL TYPES'
  453.                 |    whenever you enter data (FORMULA, LABEL, or VARIABLE
  454.                 |    LABEL).  The spreadsheet will automatically choose
  455.                 |    the cell type for you; and, in most cases, it will do
  456.                 |    it correctly.  There are, however, a few cases that
  457.                 |    can confuse the spreadsheet; so, it is worth a brief
  458.                 |    look to see how the spreadsheet interprets each:
  459.                 |
  460.                 |    FORMULAS    This cell type is assigned to a cell
  461.                 |                whenever a number, expression, or 
  462.                 |                function is entered.  For example:
  463.                 |                       
  464.                 |                   1.00            (number)
  465.                 |                   [1,2]+200       (expression)
  466.                 |                   +sqrt(16)       (function)
  467.                 |
  468.                 |                Any entry that begins with one of the
  469.                 |                following characters:
  470.                 |
  471.                 |                     + - ( [ . 0 1 2 3 4 5 6 7 8 9 
  472.                 |
  473.                 |                will be automatically be interpreted as a
  474.                 |                mathematical 'formula' and the spreadsheet
  475.                 |                will attempt to compute its value.  It is
  476.                 |                important, however, to remember that some
  477.                 |                formulas may NOT begin with one of these
  478.                 |                characters.  An example of this might be
  479.                 |                an expression that begins with a function
  480.                 |                call.  In these cases, you should start
  481.                 |                the expression with a Plus Sign (+) to
  482.                 |                FORCE it to be interpreted as FORMULA.
  483.                 |   
  484.                 |   
  485.                 |     LABELS     A LABEL is defined as a string of
  486.                 |                characters that is displayed exactly as
  487.                 |                entered, which DOES NOT BEGIN with one of
  488.                 |                the characters that would otherwise cause
  489.                 |                it to be interpreted as an FORMULA.  The
  490.                 |                spreadsheet attaches no special meaning to
  491.                 |                these entries.
  492.                 |
  493.                 |                    Example:    January the 1st
  494.                 |
  495.                 |                Note:  If a LABEL must begin with one of
  496.                 |                the characters that defines an FORMULA, a
  497.                 |                Single Quote (') can be used force the
  498.                 |                spreadsheet to interpret it as a LABEL.
  499.                 |                The optional single quote ('), at the
  500.                 |                beginning of the entry, will not appear
  501.                 |                when the LABEL is displayed.
  502.                 |
  503.                 |                     Example:    '1st of January
  504.                 |
  505.                 |
  506.                 |   VARIABLE     This is a special type of LABEL that MUST
  507.                 |   LABEL        begin with a Double Quote (").  Entries
  508.                 |                of this type are displayed exactly as
  509.                 |                they are typed, except when a Cell Address
  510.                 |                (e.g. "[1,2]") is encountered within the
  511.                 |                string.  In this case, the address is
  512.                 |                replaced by the 'contents' of the cell.
  513.                 |
  514.                 |                Example:  If the cell at [1,1] (row 1,
  515.                 |                column 1) contains the label:  'red
  516.                 |                and you then make the following entry
  517.                 |                at cell [3,1]:
  518.                 |
  519.                 |                        "My car is [1,1].
  520.                 |
  521.                 |                it will actually display:
  522.                 |
  523.                 |                        My car is red.
  524.                 |
  525.                 |                Note:  The Double Quote (") IS REQUIRED to
  526.                 |                force [1,1] to be replaced by the contents
  527.                 |                of that cell.  When you're done, try typing
  528.                 |                something else in cell [1,1] and see what
  529.                 |                happens!
  530.  
  531.  
  532.  
  533.                                                 _________________________
  534.     ___________________________________________/  Chapter 3   TUTORIAL
  535.  
  536.  
  537.  
  538.     In the following tutorial, you will design a simple spreadsheet that
  539.     can be used to compute your monthly car or mortgage loan payment.
  540.     It should end up look something like this:
  541.  
  542.  
  543.  
  544.            Loan size:                          10000.00
  545.            Annual Interest Rate:                   0.12
  546.            Length of Loan (years):                 3.00
  547.  
  548.                     Monthly Payment:             332.14
  549.  
  550.  
  551.     The worksheet must be empty before you can begin this exercise.  If
  552.     you have made any kind of entry, you can clear it by simply EXITING
  553.     the program and then re-starting it.  Later on you will learn easier
  554.     ways of doing this.
  555.  
  556.     If you make a mistake or you wish to change a value, simply move the
  557.     Cell Pointer back to the cell and re-type the entry.
  558.  
  559.          MAKE SURE YOU ARE ON THE RIGHT CELL BEFORE YOU START TYPING! 
  560.     ______________________________________________________________________
  561.                 |
  562.     Step 1      |    Using the arrow keys, move the Cell Pointer to cell
  563.                 |    [3,2]  (row 3, column 2)
  564.                 |
  565.     Step 2      |    Type   "Loan size:"       (without the quotes)
  566.                 |
  567.     Step 3      |    Move to cell [3,5]
  568.                 |
  569.     Step 4      |    Type:   "10000"           (without the quotes)
  570.                 |
  571.     Step 5      |    Move to cell [4,2]
  572.                 |
  573.     Step 6      |    Type:   "Annual Interest Rate:"    (without the quotes)
  574.                 |
  575.     Step 7      |    Move to cell [4,5]
  576.                 |
  577.     Step 8      |    Type:   ".12"              (without the quotes)
  578.                 |
  579.     Step 9      |    Move to cell [5,2]
  580.                 |
  581.     Step 10     |    Type:   "Length of Loan (years):"  (without the quotes)
  582.                 |
  583.     Step 11     |    Move cell [5,5]
  584.                 |
  585.     Step 12     |    Type:   "3"                (without the quotes)
  586.                 |
  587.     Step 13     |    Move to cell [7,3]
  588.                 |
  589.     Step 14     |    Type:   "Monthly Payment:"         (without the quotes)
  590.                 |
  591.     Step 15     |    Move to cell [7,5]
  592.                 |
  593.     Step 16     |    Type:   "+pmt([3,5],[4,5]/12,[5,5]*12)"     (no quotes)
  594.                 |
  595.  
  596.       If you got "332.14" for the payment, congratulations, you entered 
  597.       everything right!  Now, you can compute any payment you like, simply
  598.       by re-entering the appropriate values in cells [3,5] thru [5,5].
  599.       The next steps describe how to save this worksheet.
  600.  
  601.                 |
  602.     Step 17     |    From the Root Menu, press function key:
  603.                 |
  604.                 |                     F3  (FILE)
  605.                 |
  606.     Step 18     |    You should now see a new set of options displayed
  607.                 |    on the "Function Key Menu".  These options are used
  608.                 |    to SAVE and LOAD (retrieve) worksheets.  From this
  609.                 |    set of options, press function key: 
  610.                 |    
  611.                 |                     F4  (Save)
  612.                 |
  613.     Step 19     |    You should see a prompt, requesting the name of the
  614.                 |    file to store this worksheet in.  At this prompt
  615.                 |    enter:
  616.                 |
  617.                 |         "payments"  <Enter>        (without the quotes)
  618.                 |
  619.  
  620.  
  621.                                           ________________________________
  622.     _____________________________________/  Chapter 4   FUNCTION KEY MENUS    
  623.  
  624.  
  625.  
  626.     The Function Key Menu, at the top of your screen, is composed of two
  627.     types of options.  Those that:
  628.  
  629.         1)  perform specific operations or commands
  630.  
  631.         2)  and those that assign new options to the function keys.
  632.  
  633.     The word in the descriptive box that identifies each option will help
  634.     you determine how it is used.  That is, a function key that loads a
  635.     new set of menu options will always be written in  UPPER CASE LETTERS;
  636.     while function keys that perform commands, will always be written in
  637.     BOTH UPPER AND LOWER CASE LETTERS.
  638.  
  639.     Occasionally, when you press a function key, a prompt will appear
  640.     requesting additional information.  These prompts have a specific
  641.     format that's worth learning:
  642.  
  643.  
  644.                    Question... (options)?  [default]:  _
  645.                                   |         |
  646.         the range of legal _______|         |____ the default answer
  647.         answers are displayed                     that will be used
  648.         within parenthesises                      if only the <Enter>
  649.                                                   key is pressed
  650.  
  651.  
  652.     Important!    If, for any reason, you should need to abort an option
  653.     without completing it, simply press the <Esc> key.  You will be returned
  654.     to the Input Line and no further action will be taken.
  655.  
  656.     Note:      Some prompts will request that you move the Cell Pointer to
  657.     another location with the arrow keys (i.e. when you need to define the
  658.     lower right hand corner of a range of cells).  Normally, the arrow keys
  659.     work fine for this - except when you need to move long distances.  In
  660.     these situations, the Forward Slash (/) "Goto" Command (see Chapter 7)
  661.     can be used at the prompt to jump directly to any cell on the worksheet.
  662.  
  663.     The remainder of this section describes each of the Function Key Menus
  664.     in detail.  Most options non-destructive, with the exception of the
  665.     Clear, Purge, and Delete options; so, don't be afraid to try them.
  666.     Remember, the <Esc> key will break you out of almost anything.
  667.  
  668.  
  669.                             The Root Menu Index
  670.  
  671.                      _______
  672.                     |  f1   | 
  673.       Section 4.1   | CELL  |
  674.  
  675.             Displays a new set of menu options that allow you to modify
  676.             the ATTRIBUTES of an existing cell  (Precision, Arrays, Hide,
  677.             Protect, Recalc, Color).
  678.                      _______
  679.                     |  f2   | 
  680.       Section 4.2   | EDIT  |
  681.  
  682.             Displays a new set of menu options that allow you to ALTER THE
  683.             LAYOUT of cells on the worksheet or EDIT the contents of an
  684.             existing cell  (Edit, Undo, Join, Justify, Purge, Move, Copy,
  685.             Shift, Insert, Delete).
  686.                      _______
  687.                     |  f3   | 
  688.       Section 4.3   | FILE  |
  689.  
  690.             Displays a new set of menu options that allow you to READ and/or
  691.             WRITE to files in a variety of different formats  (Load, Save,
  692.             Report, Text, Dump, DIF).
  693.                      _______
  694.                     |  f6   | 
  695.       Section 4.6   |WINDOWS|
  696.  
  697.             Displays a new set of menu options that allow you to create
  698.             new windows on the screen  (Make/Remove Windows, Width, Level,
  699.             Margins).
  700.                      _______
  701.                     |  f7   | 
  702.       Section 4.7   |UTILITY|
  703.  
  704.             Displays a new set of menu options that perform general UTILITY
  705.             functions  (Sum, Recalculation, Memory).
  706.                      _______
  707.                     |  f8   | 
  708.       Section 4.8   |DEFAULT|
  709.  
  710.             Displays a new set of menu options that allow you to alter the
  711.             GLOBAL DEFAULT settings that are used whenever a new cell is
  712.             first created  (Column_Width, Precision, Color, and Range
  713.             Recalc DEFAULTS!).  Most of these default settings can be
  714.             overridden on a case-by case basis.
  715.                      _______
  716.                     |  f9   | 
  717.       Section 4.9   |FORMATS|
  718.  
  719.             Displays a new set of menu options that allow you to modify the
  720.             way in which numeric values are displayed  (Dec, Sci, Oct, Hex,
  721.             Bin, Comma, $, %, Time)
  722.                      _______
  723.                     |  f0   | 
  724.       Section 4.10  | EXIT  |
  725.  
  726.  
  727.  
  728.     _______________________________
  729.     Section 4.1     CELL ATTRIBUTES
  730.  
  731.      .........
  732.      :  f1   :   From the "Root Menu", press F1 to access the
  733.      : CELL  :     following set of Function Key options.
  734.  
  735.       _______   _______   _______
  736.      |  f1   | |  f2   | |  f3   | 
  737.      | DONE  | |  x.xx | | Array |  . . .
  738.  
  739.           f1   -   Returns you to the Root Menu.
  740.  
  741.           f2   -   Changes a cell's fixed DECIMAL format, controlling the
  742.                    number of decimal places that will appear when the
  743.                    cell's value is displayed.  Changing this setting will
  744.                    not affect the actual value stored by the spreadsheet.
  745.                    Numbers can be displayed with up to 14 decimal places.
  746.                    If the existing column width is not large enough to
  747.                    handle the format, a series of asterisks (****) will
  748.                    appear instead of the expected value.  Whatever the case,
  749.                    the value of any cell can always be displayed at the
  750.                    Input Line, using the "=0" Display Element Command
  751.                    (see Chapter 7).
  752.  
  753.            f3   -  Creates an ARRAY SPACE of up to 8000 values that can be
  754.                    assigned to a FORMULA cell, highlighted by the Cell
  755.                    Pointer (refer to Section 6.5 - Arrays). The values
  756.                    stored in this array area can be addressed within any
  757.                    mathematical 'formula' by including the Array Element
  758.                    field in the Cell Address - [row,col,ELEMENT]. These
  759.                    values can also be viewed or loaded at any time using
  760.                    the (=e) Display Element Commands described in Chapter 7.
  761.                    Other, more advanced loading, techniques are discussed
  762.                    in Section 4.3 - Loading Text Files and in Section
  763.                    6.5 - Arrays.
  764.  
  765.  
  766.                     ___________________________
  767.                    |  f4        f5        f6   |
  768.                    | Display   Cell      OKAY? |
  769.                    | Hide      Row             |
  770.                    | Protect   Column          |
  771.                    | Unprot    All             |
  772.                    | Blink     Range           |
  773.                    | noBlink                   |
  774.                    | +ReCalc                   |
  775.                    | -ReCalc                   |
  776.                    | +NoCalc                   |
  777.            .  .  . | -NoCalc                   | .  .  .
  778.  
  779.  
  780.          Function keys F4 and F5 work together to form a user defined option
  781.          that is executed when the F6 (OKAY?) key is pressed.  The F4 and F5
  782.          keys do not perform any action other than to set up the option.
  783.  
  784.           f4   -   Display:  Causes a hidden cell to be redisplayed.
  785.  
  786.                    Hide:     Sets a flag, preventing a cell's contents
  787.                              form being displayed on the screen.
  788.  
  789.                    Protect:  Sets a flag, preventing a cell from being
  790.                              purged or edited.  If you inadvertently
  791.                              attempt to modify the contents of a protected
  792.                              cell, you will be automatically placed in the
  793.                              'Edit Mode' (see Chapter 5).  You can then
  794.                              use the "CUT" option to temporarily save your
  795.                              entry until you are able to remove the
  796.                              protection flag.  Otherwise. simply press the
  797.                              <ESC> key.
  798.  
  799.                    UnProt:   Removes the protective flag so that a cell 
  800.                              can be purged.
  801.  
  802.                    Blink:    Causes a cell to blink on and off when
  803.                              displayed.
  804.  
  805.                    noBlink:  Prevents a cell from blinking when displayed.
  806.  
  807.                    +ReCalc:  Sets a flags that FORCES a cell to be
  808.                              RECALCULATED whenever ANY change is made to
  809.                              the speadsheet - even if the change does not
  810.                              directly affect the cell.
  811.  
  812.                    -ReCalc:  CLEARS the '+ReCalc' flag that forces a cell
  813.                              to be recalculated each time the spreadsheet
  814.                              is modified.
  815.  
  816.                    +NoCalc:  Sets a flag that PREVENTS a cell from being
  817.                              recalculated - even if that cell is directly
  818.                              affected by a change somewhere else in the
  819.                              spreadsheet.
  820.  
  821.                    -NoCalc:  CLEARS the '+NoCalc' flag.
  822.                                     
  823.           f5   -   Defines the range of cells that will take on the
  824.                    attributes setup by the F4 key.
  825.  
  826.           f6   -   Executes the user defined option setup by the F4 and F5
  827.                    function keys.
  828.  
  829.  
  830.                                      _____________________________________
  831.                                     |  f7        f8        f9        f0   |
  832.                                     | Cell      White     Low       OKAY? |
  833.                                     | Row       Brw/Ylw   High            |
  834.                                     | Col       Magenta                   |
  835.                                     | ALL       Red                       |
  836.                                     | Range     Cyan                      |
  837.                                     |           Green                     |
  838.                               . . . |           Blue                      |
  839.  
  840.  
  841.          Function keys F7 thru F9 work together to form a 'user defined
  842.          option' that is executed when the F10 (OKAY?) key is pressed. 
  843.          The F7, F8, and F9 keys do not perform any action other than to
  844.          set up the option.
  845.  
  846.          NOTE:  Cells that have their color display changed using this
  847.          option will no longer be affected by changes made to the default
  848.          color setting (see Section 4.8 - F7 thru F10).
  849.  
  850.           f7   -   Defines the range of cells that will take on a new
  851.                    COLOR attribute.  
  852.  
  853.           f8   -   Defines a new display COLOR.
  854.  
  855.           f9   -   Sets the display INTENSITY to High or Low.
  856.  
  857.           f0   -   Executes the user defined option setup by the F7, F8,
  858.                    and F9 function keys.
  859.  
  860.  
  861.  
  862.     __________________
  863.     Section 4.2   EDIT
  864.  
  865.                .........
  866.                :  f2   :  From the "Root Menu", press F2
  867.                : EDIT  :
  868.       _______   _______   _______   _______   _______   _______
  869.      |  f1   | |  f2   | |  f3   | |  f4   | |  f5   | |  f6   |
  870.      | DONE  | | Edit  | | Undo  | | Join  | |<Jstify| |Jstify>| . . .
  871.  
  872.           f1   -   Returns you to the Root Menu.
  873.  
  874.           f2   -   Activates the 'Edit Mode' Function Keys (see Chapter 5).
  875.  
  876.           f3   -   UNDOES the last change made to a cell.
  877.  
  878.           f4   -   JOINS the 'labels' of two adjacent cells.  The Cell
  879.                    Pointer must be positioned over the left most label.
  880.  
  881.           f5   -   LEFT JUSTIFIES the value displayed by a FORMULA cell.
  882.  
  883.           f6   -   RIGHT JUSTIFIES the value displayed by a FORMULA cell.
  884.  
  885.  
  886.                                      _____________________________________
  887.                                     |  f7        f8        f9        f0   |
  888.                                     | Purge     Cell                OKAY? |
  889.                                     | Shift     Row       Left            |
  890.                                     | Move      Column    Right           |
  891.                                     | Copy      All       Up              |
  892.                                     | Insert    Range     Down            |
  893.                                     | Delete              (rel)           |
  894.                                     |                     (abs)           |
  895.                              . . .  |                     (val)           |
  896.  
  897.  
  898.          Function keys F7 thru F9 work together to form a 'user defined
  899.          option' that is executed when the F10 (OKAY?) key is pressed. 
  900.          The F7, F8, and F9 keys do not perform any action other than to
  901.          set up the option.
  902.  
  903.           f7    Purge:  Removes one or more cells, freeing the memory for
  904.                         other uses.
  905.  
  906.                 Shift:  Moves one or more cells one cell position up, down,
  907.                         left, or right.  This command will only shift
  908.                         OCCUPIED cells that are ADJACENT to the Cell
  909.                         Pointer.  As a result, the position of the Cell
  910.                         Pointer is important, as it can influence which
  911.                         cells are actually shifted.  Take the following
  912.                         example.  If you want to shift a 'column' of cells
  913.                         UP, LEFT, or to the RIGHT, you must place the Cell
  914.                         Pointer on the last occupied cell in the column
  915.                         that you wish to be included.  This would be the
  916.                         cell with the 'highest' row number in its Cell
  917.                         Address. The cells that will be shifted will
  918.                         include everything above the Cell Pointer until
  919.                         the first empty cell is encountered.  When shifting
  920.                         a 'column' of cells DOWN, place the Cell Pointer at
  921.                         the top of the column (the cell with the 'lowest'
  922.                         row number in its address).  Everything below this
  923.                         point will be shifted until the first empty cell is
  924.                         encountered.
  925.  
  926.                 Move:   Moves one or more cells to a new location, anywhere
  927.                         on the worksheet.
  928.  
  929.                 Copy:   Copies one or more cells to a new location. The F9
  930.                         function key is used to set the 'type' of cell copy
  931.                         that is to take place - relative (rel), absolute
  932.                         (abs), or value (val).
  933.  
  934.                          - Relative (rel) copy means that when you copy
  935.                            a cell's formula from one location to another,
  936.                            the 'direct' Cell Addresses within the formula
  937.                            of the new cell will be adjusted (see Section
  938.                            6.8 - Direct Cell Addresses).  That is, the
  939.                            'direct' Cell Addresses in the new cell will be
  940.                            modified to reference cells that are the same
  941.                            relative distance away from the new cell as they
  942.                            were from the original cell.
  943.  
  944.                          - Absolute (abs) copy means that when you copy
  945.                            a cell's formula from one location to another,
  946.                            the Cell Addresses (within that formula) will
  947.                            not be adjusted.  They will reference the same
  948.                            cells as the original cells do.
  949.  
  950.                          - Value (val) copy means that only values (not the
  951.                            formulas associated with them) are copied.
  952.  
  953.                         NOTE: Cells can be COPIED or MOVED from one worksheet
  954.                         level to another with the aide of the Forward Slash
  955.                         (/) 'Goto' Command (discussed in Chapter 7).  To do
  956.                         it, simply type a slash (/) instead of using the
  957.                         arrow keys from the prompt, requesting you to move
  958.                         the Cell Pointer the the TARGET cell location.  This
  959.                         will produce a new series of prompts that will allow
  960.                         you to jump to any Row, Column, or WORKSHEET LEVEL.
  961.        
  962.                Insert:  Adds a new Row or Column (depending on the setting
  963.                         of function key F8) above the Cell Pointer's
  964.                         current position.
  965.  
  966.                Delete:  Deletes the Row or Column (depending on the setting
  967.                         of function key F8) that currently contains the
  968.                         Cell Pointer.
  969.  
  970.           f8   Defines the range of cells that will be affected by the F7
  971.                setting.
  972.     
  973.           f9   The option associated with this key will only appear when
  974.                either the 'Shift' or 'Copy' command have been set with the
  975.                F7 function key.  Otherwise, the function of this key is
  976.                disabled and nothing will appear in its display.
  977.  
  978.                Left, Right, Up, Down:  These options only become available
  979.                                        when the F7  'Shift' command has
  980.                                        been set.  They establish the 
  981.                                        direction the cell(s) will be moved.
  982.  
  983.                  (rel), (abs), (val):  These choices only become available
  984.                                        when the F7 'Copy' Command has been
  985.                                        set.  They establish the 'type' of
  986.                                        cell copy that will take place - a
  987.                                        Relative, Absolute, or Value cell
  988.                                        copy.  (Refer back to the discussion
  989.                                        on the F7 'copy' option.)
  990.  
  991.           f0   Executes the user defined option setup by the F7, F8, and F9
  992.                function keys.
  993.  
  994.  
  995.  
  996.     ___________________
  997.     Section 4.3   FILES
  998.  
  999.                          .........
  1000.                          :  f3   :  From the "Root Menu", press F3
  1001.                          : FILE  :
  1002.       _______   _______   _______   _______   _______
  1003.      |  f1   | |  f2   | |  f3   | |  f4   | |  f5   |
  1004.      | DONE  | |Report>| | Load< | | Save> | | Text< | . . .
  1005.  
  1006.           f1   -   Returns you to the Root Menu.
  1007.  
  1008.           f2   -   Copies a worksheet to a standard text file in your
  1009.                    current working directory, exactly as it appears on your
  1010.                    screen. The DOS  'PRINT' command can then be used to sent
  1011.                    this file to the printer.  The report will begin with the
  1012.                    cell located in the upper left hand corner of the active
  1013.                    window and will continue to the row you specify or until
  1014.                    no  further data is found, whichever comes first. You
  1015.                    may also set the maximum number of characters per line
  1016.                    (upto 132).  If the default value for this setting is
  1017.                    used, only the information visible on the screen will be
  1018.                    sent to the file. 
  1019.  
  1020.           f3   -   LOADS (retrieves) worksheets from the current working
  1021.                    directory that have been saved in REBEL's native ".RB1"
  1022.                    format.  Simply type in the name of the file that
  1023.                    contains your worksheet and press <Enter>.  It is not
  1024.                    necessary to include the .RB1 extension - REBEL will do
  1025.                    it for you.  You can also review all of the worksheets
  1026.                    that are currently available to you by pressing any of
  1027.                    the <Arrow> keys (prior to making an entry).  Each time
  1028.                    you do this, one of the files that has a ".RB1" extension
  1029.                    will be displayed within the prompt's square brackets [].
  1030.                    When the file you are interested in appears, press the
  1031.                    <Enter> key WITH NO OTHER INPUT to load it.  The tilde
  1032.                    (~) wildcard character can be used to create a pattern
  1033.                    that will reduce the number of files you must to search
  1034.                    through.  If you do this, however, the pattern MUST be
  1035.                    entered BEFORE the first arrow key is pressed.  That is,
  1036.                    once an arrow key is pressed - the pattern is set.  If
  1037.                    you press an arrow key before entering a pattern, the
  1038.                    default pattern will be used (i.e.  "~.RB1" which is all
  1039.                    of the .RB1 files in the current working directory!).
  1040.                    You may want to experiment with this option to see how it
  1041.                    works.
  1042.  
  1043.           f4   -   SAVES the currently active worksheet to a disk file,
  1044.                    using REBEL's native ".RB1" format.  It is not
  1045.                    necessary to include the .RB1 extension when you enter
  1046.                    the file name.
  1047.  
  1048.           f5   -   Loads a TEXT FILE into the currently active worksheet,
  1049.                    starting at the cell highlighted by the Cell Pointer.
  1050.                    Each 'word' or 'number' in the file will be loaded into
  1051.                    individual cells and 'typed' as LABELS.  A series of
  1052.                    words, however, can be loaded into a single cell by
  1053.                    grouping them within double quotes ("...").  Existing 
  1054.                    data, within the worksheet, will not be overwritten.
  1055.  
  1056.                    Text files can also be used to load the ARRAY SPACE of a
  1057.                    cell.  To do this, the cell must either be empty or
  1058.                    contain an expression (i.e. be a FORMULA cell).  A
  1059.                    "HEADER LINE", that describes 'what' and 'where' to
  1060.                    start loading the array, MUST precede the values to be
  1061.                    loaded.  The HEADER must begin with a tilde (~) and end
  1062.                    with a semicolon (;).  It's general format is described
  1063.                    below:
  1064.  
  1065.                      ~[row,column,MAX_ARRAY_SIZE,worksheet],START,END;
  1066.  
  1067.                    For example, the following 5 line file entry will cause
  1068.                    an Array Space (containing 15 elements) to be defined
  1069.                    for the cell at [55,66,,1].  It will then load 4 values
  1070.                    (25.0 thru 28.0), starting at array position 8 and
  1071.                    ending at array position 12.
  1072.  
  1073.                                     ~[55,66,15,1],8,12;
  1074.                                     25.0
  1075.                                     26.0
  1076.                                     27.0
  1077.                                     28.0
  1078.  
  1079.                    An important thing to remember, is that the number in the
  1080.                    ARRAY ELEMENT position of the HEADER LINE will define or
  1081.                    re-define a cell's array Area Space - prior to loading
  1082.                    it!  Also note that the  'start' and 'end' values, which
  1083.                    follows the HEADER's cell address, define the exact array
  1084.                    positions to be loaded (8 thru 12).  More than one such
  1085.                    header entries may be included in a file.
  1086.  
  1087.                    In addition to fixed numbers, expressions that access
  1088.                    values in other cells throughout the worksheet, can also
  1089.                    be used to load the array space.  Take the following
  1090.                    example.  Here, 4 values (from another worksheet level)
  1091.                    are added to a fixed number and then loaded into the
  1092.                    array (elements 8 through 12).
  1093.  
  1094.                                     ~[55,66,12,1],8,12
  1095.                                     25.0 + [1,1,,2]
  1096.                                     26.0 + [1,2,,2]
  1097.                                     27.0 + [1,3,,2]
  1098.                                     28.0 + [1,4,,2]
  1099.  
  1100.  
  1101.                            _______   _______   _______   _______   _______
  1102.                           |  f6   | |  f7   | |  f8   | |  f9   | |  f0   |
  1103.                     . . . | Dump> | | DIF <>| |ListDir| |ChngDir| | Clear |
  1104.  
  1105.           f6   -   Outputs a 'formula' dump to a disk file for debugging
  1106.                    purposes.
  1107.  
  1108.           f7   -   LOADS and/or SAVES a columnwise DIF (Data Interchange
  1109.                    Format) file, starting with the cell highlighted by the 
  1110.                    Cell Pointer.
  1111.  
  1112.           f8   -   LISTS the files in the Current Working Directory.  You
  1113.                    can control the number of files that will be displayed
  1114.                    by using the tilde (~) wildcard character to form a
  1115.                    specific pattern.  The default pattern (~.~) will
  1116.                    display all files.  Press the <Enter> key to accept
  1117.                    the default; or enter your own pattern, following it
  1118.                    with the <Enter> key.
  1119.  
  1120.           f9   -   CHANGES the Current Working Directory.
  1121.  
  1122.           f0   -   CLEARS the currently active worksheet.
  1123.  
  1124.  
  1125.  
  1126.     _____________________
  1127.     Section 4.6   WINDOWS
  1128.  
  1129.                                                  .........
  1130.                    From the "Root Menu", press   :  f6   :
  1131.                                                  :WINDOWS:
  1132.       _______   _______   _______   _______   _______
  1133.      |  f1   | |  f2   | |  f3   | |  f4   | |  f5   |
  1134.      | DONE  | | RmvWdw| |HorzWdw| | ChgWdw| |VertWdw| . . .
  1135.  
  1136.                            _______   _______   _______   _______   _______
  1137.                           |  f6   | |  f7   | |  f8   | |  f9   | |  f0   |
  1138.                     . . . | Width | | Level | |<Margin| |  SET  | |Margin>|
  1139.  
  1140.  
  1141.           f1   -   Returns you to the Root Menu.
  1142.  
  1143.           f2   -   Removes the currently active window  (i.e. the one
  1144.                    that contains the Cell Pointer).  The last window can
  1145.                    not be removed.
  1146.  
  1147.           f3   -   Creates a Horizontal Window, beginning at the Cell 
  1148.                    Pointer's position.
  1149.  
  1150.           f4   -   Moves the Cell Pointer to the Next Window - if one
  1151.                    exists.  (also see the <Tab> Command in Chapter 7 for
  1152.                    a faster way of doing this)
  1153.  
  1154.           f5   -   Creates a Vertical Window, beginning at the Cell
  1155.                    Pointer's position.
  1156.  
  1157.           f6   -   Changes the WIDTH of the current column.  You will also
  1158.                    be asked to enter the number of the last column you wish
  1159.                    this change to affect.  Any change made by this option
  1160.                    will override the default column setting (see Section
  1161.                    4.8 - dWidth).
  1162.  
  1163.           f7   -   Allows you to change the Worksheet LEVEL of the current
  1164.                    window.  (The level of each window is displayed in the
  1165.                    extreme left hand corner of the Column Bar - surrounded
  1166.                    by angle brackets <>.).
  1167.  
  1168.           f8   -   Moves the Cell Pointer to the next Margin - to the left
  1169.                    of it's current position (see function key F9).  
  1170.  
  1171.           f9   -   Sets or Removes a MARGIN in the column occupied by the
  1172.                    Cell Pointer.  Once the Cell Pointer is move off this
  1173.                    column, it can no longer be crossed using the arrow
  1174.                    keys.
  1175.  
  1176.           f0   -   Moves the Cell Pointer to the next Margin - to the right
  1177.                    of it's current position (see function key F9).  
  1178.  
  1179.  
  1180.  
  1181.     ________________________
  1182.     Section 4.7    UTILITIES
  1183.  
  1184.                                                  .........
  1185.                     From the "Root Menu", press  :  f7   :
  1186.                                                  :UTILITY:
  1187.       _______   _______   _______   _______   _______   _______   _______
  1188.      |  f1   | |  f2   | |  f3   | |  f4   | |  f5   | |  f6   | |  f7   |
  1189.      | DONE  | |  Sum  | |       | |CelCalc| |FulCalc| |       | | Memory|...
  1190.  
  1191.           f1   -   Returns you to the Root Menu.
  1192.  
  1193.           f2   -   Quickly SUMS a range of cells and displays the results
  1194.                    at the Input Line.
  1195.  
  1196.           f4   -   RECALCULATES the cell highlighted by the Cell Pointer.
  1197.            
  1198.           f5   -   RECALCULATES every cell on the worksheet that contains
  1199.                    the highlighted Cell Pointer.
  1200.            
  1201.           f7   -   Displays the remaining amount of available MEMORY.
  1202.  
  1203.  
  1204.  
  1205.  
  1206.     _______________________________
  1207.     Section 4.8    DEFAULT SETTINGS
  1208.  
  1209.                                                    .........
  1210.                       From the "Root Menu", press  :  f8   :
  1211.                                                    :DEFAULT:
  1212.       _______   _______   _______   _______   _______
  1213.      |  f1   | |  f2   | |  f3   | |  f4   | |  f5   |
  1214.      | DONE  | | dRange| |       | | dWidth| |dDecmal| . . .
  1215.  
  1216.           f1   -   Returns you to the Root Menu.
  1217.  
  1218.           f2   -   Sets the number of times a formula that contains a
  1219.                    RANGE OPERATION will be recomputed for each change
  1220.                    made to the worksheet.  This setting is used to control
  1221.                    the affects of circular references made within Range
  1222.                    Operation (see Section 6.12 - Optimizing Your Worksheet).
  1223.  
  1224.            f4  -   Changes the default COLUMN WIDTH setting for the current
  1225.                    worksheet.  This option will affect ALL of the columns
  1226.                    that have not been individually set using the column
  1227.                    width option under the WINDOWS menu (also see Section
  1228.                    4.6 - Width).
  1229.  
  1230.           f5   -   Changes the default DECIMAL display format setting that
  1231.                    is used whenever a NEW cell is created.  This option
  1232.                    is not intended to be used to modify the decimal display
  1233.                    format of cells that differ from the default value (for
  1234.                    that, see Section 4.1 - x.xx).  Remember, when you uses
  1235.                    this option to reset the decimal display format, it will
  1236.                    affect EVERY cell that HAS NOT had it format reset with
  1237.                    the "x.xx" command described in Section 4.1.
  1238.  
  1239.  
  1240.                            _______   _____________________________________
  1241.                           |  f6   | |  f7        f8        f9        f0   |
  1242.                     . . . |       | | Cell      White     Low       OKAY? |
  1243.                                     | Row       Brw/Ylw   High            |
  1244.                                     | Col       Magenta                   |
  1245.                                     | ALL       Red                       |
  1246.                                     | Range     Cyan                      |
  1247.                                     |           Green                     |
  1248.                                     |           Blue                      |
  1249.     
  1250.     
  1251.          Function keys F7 thru F9 work together to form a 'user defined
  1252.          option' that is executed when the F10 (OKAY?) key is pressed. 
  1253.          The F7, F8, and F9 keys do not perform any action other than to
  1254.          set up the option.
  1255.  
  1256.           f7   -   Defines a range of cell(s) that will be modified to
  1257.                    display the DEFAULT COLOR, no matter what their current
  1258.                    color setting is.
  1259.  
  1260.           f8   -   Defines the NEW DEFAULT COLOR that will be used for ALL
  1261.                    cells through the worksheet.  That is, the color of
  1262.                    cells outside the range defined by the F7 key may also
  1263.                    be affected, since this command resets the DEFAULT COLOR
  1264.                    that is used be all cells.
  1265.  
  1266.           f9   -   Sets the display INTENSITY of the default color to High
  1267.                    or Low.
  1268.  
  1269.           f0   -   Executes the command option setup by function keys
  1270.                    <F7> thru <F9>.
  1271.  
  1272.  
  1273.  
  1274.     ______________________________
  1275.     Section 4.9    DISPLAY FORMATS
  1276.  
  1277.                                                         .........
  1278.                           From the "Root Menu", press   :  f9   :
  1279.                                                         :FORMATS:
  1280.  
  1281.       _______   _______   _______   _______   _______
  1282.      |  f1   | |  f2   | |  f3   | |  f4   | |  f5   |
  1283.      | DONE  | | TIME  | |  Dec  | |  Sci  | |  Hex  | . . .
  1284.  
  1285.                            _______   _______   _______   _______   _______
  1286.                           |  f6   | |  f7   | |  f8   | |  f9   | |  f0   |
  1287.                     . . . |  Oct  | |  Bin  | | Comma | |   $   | |   %   |
  1288.  
  1289.  
  1290.           f1   -   Returns you to the Root Menu.
  1291.  
  1292.           f2   -   Re-assigns the Function Keys to display numeric values
  1293.                    using DATE and TIME formats.
  1294.  
  1295.           f3   -   Sets a cell's numeric display mode to DECIMAL (default).
  1296.                    For example, 255 would be displayed:  255.00
  1297.  
  1298.           f4   -   Sets a cell's numeric display mode to SCIENTIFIC NOTATION.
  1299.                    For example, 255 would be displayed:  2.55e+02
  1300.  
  1301.           f5   -   Sets a cell's numeric display mode to HEXADECIMAL.
  1302.                    For example, 255 would be displayed:  0xFF
  1303.  
  1304.           f6   -   Sets a cell's numeric display mode to OCTAL.
  1305.                    For example, 255 would be displayed:  0377
  1306.  
  1307.           f7   -   Sets a cell's numeric display mode to BINARY.
  1308.                    For example, 255 would be displayed:  11111111
  1309.  
  1310.           f8   -   Sets a cell's numeric display mode to insert a comma
  1311.                    after every third digit.  For example, 2500 would be
  1312.                    displayed:  2,500
  1313.  
  1314.           f9   -   Sets a cell's numeric display mode to CURRENCY.
  1315.                    For example, 255 would be displayed:  $255.00
  1316.  
  1317.           f0   -   Sets a cell's numeric display mode to PERCENT.
  1318.                    For example, .25 would be displayed:  25%
  1319.  
  1320.  
  1321.             NOTE:  Numbers can be entered, from the Input Line, in both
  1322.             hexadecimal and octal formats (in addition to the standard
  1323.             decimal format).  To enter a hexadecimal number, precede it
  1324.             with a "0x"  (e.g.  0xFF).  Octal numbers can be entered by
  1325.             beginning them with a zero (0).  JUST REMEMBER NOT TO BEING
  1326.             A STANDARD NUMBER WITH A ZERO.
  1327.  
  1328.  
  1329.  
  1330.     ________________________________________________
  1331.     Section 4.9  (continued)   DATE and TIME FORMATS  
  1332.  
  1333.     Only curtain numbers can be is used to represent Date and Time values,
  1334.     which must conform to a specific set of requirements.  These numbers
  1335.     are, in general, referred to as 'datecodes'.  There general form is
  1336.     described below:
  1337.  
  1338.                              YYYYDDD.HHMMSS
  1339.  
  1340.          Where:   'YYYY' is the year (0001 thru 9999)
  1341.                    'DDD' is the day of the year (1 to 365)
  1342.                     'HH' is the hour  (00 thru 23)
  1343.                     'MM' is the minute  (00 thru 59)
  1344.                     'SS' is the second  (00 thru 59)
  1345.  
  1346.         Example:  1991005.123015  represents  "January 5, 1991  12:30:15"
  1347.  
  1348.  
  1349.      Any number that adheres to this scheme can be displayed using one of
  1350.      the following Date or Time formats.  Values, however, that violate
  1351.      this format will be displayed with a series of Exclamation Points (!!!).
  1352.  
  1353.      NOTE:  You may have to adjust the column widths of some cells to see
  1354.      the full display.  Unlike LABELS, datecode displays do not overlap
  1355.      empty cells.  Instead, they are clipped to fit within the existing
  1356.      cell.
  1357.  
  1358.                                                   .........
  1359.                      From the "Root Menu", press  :  f9   :
  1360.                                                   :FORMATS:
  1361.                ......... 
  1362.                :  f2   :
  1363.                : TIME  :
  1364.       _______   _______   _______   _______   _______
  1365.      |  f1   | |  f2   | |  f3   | |  f4   | |  f5   |
  1366.      | DONE  | |  Day  | | Month | |Date&Tm| | Date  | . . .
  1367.  
  1368.                            _______   _______   _______   _______   _______
  1369.                           |  f6   | |  f7   | |  f8   | |  f9   | |  f0   |
  1370.                     . . . | m/d/y | | y/m/d | | hms PM| |  hms  | |       |
  1371.  
  1372.  
  1373.           f1   -   Returns you to the previous menu.
  1374.  
  1375.           f2   -   For any valid datecode, displays the day of the week
  1376.                    (Sunday, Monday, etc.)
  1377.  
  1378.           f3   -   For any valid datecode, displays the month of the year
  1379.                    (January, February, etc.)
  1380.  
  1381.           f4   -   For any valid datecode, displays the Date and Time using
  1382.                    the following format:  October 25, 1991  03:58 PM 
  1383.  
  1384.           f5   -   For any valid datecode, displays the Date using the
  1385.                    following format:  October 25, 1991 
  1386.  
  1387.           f6   -   For any valid datecode, displays the Date using the
  1388.                    following format:   10/25/91 
  1389.  
  1390.           f7   -   For any valid datecode, displays the Date using the
  1391.                    following format:   91/10/91 
  1392.  
  1393.           f8   -   For any valid datecode, displays the Time using the
  1394.                    following format:   03:58:45  PM
  1395.  
  1396.           f9   -   For any valid datecode, displays the Time using the
  1397.                    following format:   15:58:45   (military time)
  1398.  
  1399.  
  1400.  
  1401.  
  1402.                                                    _______________________
  1403.     ______________________________________________/  Chapter 5   EDIT MODE
  1404.  
  1405.     From the Input Line, your editing capabilities are limited to erasing 
  1406.     the last character typed with the <Back Space> key.  In addition, 
  1407.     there is no way of modifying the contents of existing cells - short of 
  1408.     retyping them. Obviously, if you are working with long complicated 
  1409.     formulas, this could be a tedious way of correcting errors or making 
  1410.     changes. 
  1411.  
  1412.     To provide you with more flexibility in this area, a special set of 
  1413.     function key options are available, that will allow you to revise the 
  1414.     contents of existing cells (when highlighted by the Cell Pointer).  
  1415.     Specifically, you will be able to;  1) use the arrow keys to move the 
  1416.     input cursor;  2) delete characters;  3) insert new characters;  4) 
  1417.     search and replace patterns of characters;  5) 'capture' a series of 
  1418.     characters to be re-inserted at a different location within the same 
  1419.     or different entries;  6)  add the contents of other cells to the cell 
  1420.     being edited;  7)  search for closing brackets;  8) display error 
  1421.     messages; and  9) single step through a formula calculation, allowing 
  1422.     you to check the intermediate results of each operation as the 
  1423.     expression is evaluated. 
  1424.  
  1425.     To enter the 'Edit Mode', move the Cell Pointer to the cell you wish 
  1426.     to modify and press the <F2> function key TWICE from the Root Menu. 
  1427.     The contents of that cell along with the Edit Mode Function Key 
  1428.     Options should appear just above the Column Bar.  You can now use the 
  1429.     arrow keys to move the input cursor to any location within the entry.  
  1430.     The <Up> arrow will move you immediately to the beginning of the 
  1431.     entry, while the <Down> arrow will move you back to the end. There is 
  1432.     also an 'insert' and 'overlay' character entry mode that allows you to 
  1433.     insert new characters or overwrite existing ones.  The <F1> function 
  1434.     key will toggle you between them (refer to the f1 (INS) section below).
  1435.     You can use either the <Del> or <F2> keys to delete  characters.  Try
  1436.     entering the Edit Mode with the Cell Pointer positioned on an empty
  1437.     cell and experimenting with each of these  options.  Remember, you can
  1438.     use the <Esc> key at any time to abort. 
  1439.  
  1440.     After you have made your changes, you can save them by pressing the 
  1441.     <Enter> key.  If a problem is detected, an error message will appear 
  1442.     at the top of your screen and you will be returned to the Edit Mode to 
  1443.     made the necessary changes.  This differs from the way errors are 
  1444.     handled from the Input Line.  Here, no error messages are displayed.  
  1445.     Instead, only a series of question marks (????) are be displayed in 
  1446.     the cell(s) that detect a problem and you are allowed to continue as 
  1447.     though nothing had happened.  You can get a general idea of what went 
  1448.     wrong, however, by moving the Cell Pointer to the cell containing the 
  1449.     question marks and then entering the Edit Mode.  This will cause an 
  1450.     error message to be displayed that that will hopefully help you 
  1451.     determine what when wrong.  If you are unable to correct the problem 
  1452.     from the Edit Mode, use the <Esc> key to exit (the contents that where 
  1453.     displayed the last time you pressed the <Enter> key will be saved). 
  1454.  
  1455.  
  1456.  
  1457.         NOTE:  You can ABORT the 'Edit Mode' at any time by pressing
  1458.         the <Esc> key; however, all changes will be lost. 
  1459.  
  1460.  
  1461.                   .........
  1462.                   :  f2   :  From the "Root Menu", press F2
  1463.                   : EDIT  :
  1464.  
  1465.                   .........
  1466.                   :  f2   :  then press F2 again
  1467.                   : Edit  :
  1468.  
  1469.                   _____   _____   _____   _____   _____
  1470.      EDITING:    |1 INS| |2 DEL| |3 RPL| |4  GO| |5 CUT| . . .
  1471.  
  1472.  
  1473.           f1   -   Toggles between INSERT and OVERWRITE entry modes. When
  1474.                    the insert identifier is displayed in capital letters
  1475.                    (INS), you're in the 'overwrite' mode.  This means that
  1476.                    any character you type will be added to the end of the
  1477.                    entry or will overwrite an existing character, depending
  1478.                    on the  cursor position.  When the insert identifier is
  1479.                    displayed with lower case letters (ins), you're in the 
  1480.                    'insert' mode.  In this case, new characters are placed
  1481.                    between existing characters.
  1482.  
  1483.           f2   -   This key DELETES the character at the current cursor
  1484.                    position.  It works just like the <Del> key on your
  1485.                    keyboard.
  1486.  
  1487.           f3   -   SEARCHES for a pattern of characters within the entry
  1488.                    and REPLACES it with another pattern.  You will be
  1489.                    prompted to enter both of these strings.
  1490.  
  1491.           f4   -   MOVES the Cell Pointer to another cell location WITHOUT
  1492.                    exiting the Edit Mode.  This allows you to view the
  1493.                    contents of other cells; and, if you like, use the F7
  1494.                    (LBL) option to add them to the current entry.
  1495.  
  1496.          f5       CUTS (captures) a series of characters from the text
  1497.                    that is currently being edited, placing them into the
  1498.                    'cut' buffer.  This buffer can then be re-inserted at
  1499.                    any location within the entry.  To execute the command,
  1500.                    press the <f5> key with the cursor positioned on the
  1501.                    first character of the string you wish to capture.
  1502.                    Additional characters will continue to be placed into
  1503.                    this buffer while the cursor is moved to the right with
  1504.                    the Right <Arrow> Key.  Do not press any other key
  1505.                    (other than the right arrow key) until AFTER you have
  1506.                    TERMINATED THE 'CUT' OPERATION BY PRESSING THE <f5> KEY
  1507.                    A SECOND TIME.  The buffer's contents are preserved
  1508.                    until the process is repeated (i.e. they are not lost
  1509.                    when you exit the Edit Mode).  This allows you to insert
  1510.                    the buffer into other cells, as well.  Note: the F6 (PUT)
  1511.                    key is used to copy the contents of the 'cut' buffer back
  1512.                    into the entry, starting at whatever cursor position you
  1513.                    like.
  1514.  
  1515.                                      _____   _____   _____   _____   _____
  1516.                               . . . |6 PUT| |7 LBL| |8 ADR| |9 DBG| | [()]|
  1517.  
  1518.           f6   -   Puts (inserts) the text saved in the 'CUT' buffer into
  1519.                    the current entry (see the F5 'CUT' option).
  1520.  
  1521.           f7   -   Inserts the 'formula' or 'label' of the cell that is
  1522.                    highlighted by the Cell Pointer into the current entry.
  1523.                    The F4 (GO) command can be used to move the Cell Pointer
  1524.                    to the cell that contains statement you wish to capture.
  1525.                    While in the Edit Mode, the <Home>, <End>, <Pg Up>, and
  1526.                    <Pg Dn> Keys can also be used to move the Cell Pointer,
  1527.                    one cell at a time.
  1528.  
  1529.           f8   -   This option works like the F7 (LBL) command except that
  1530.                    it inserts the 'Cell Address' of the cell that is
  1531.                    highlighted by the Cell Pointer into the current entry.
  1532.  
  1533.           f9   -   This command is used to test and debug 'formulas'.  It
  1534.                    allows you to see exactly how an expression is being
  1535.                    evaluated - one step at a time.  After each operation,
  1536.                    it will pause and display the value calculated or
  1537.                    substituted.  Press any key to continue to the next
  1538.                    operation.
  1539.  
  1540.           f0   -   With the cursor placed on any square bracket [] or
  1541.                    parenthesis (), this option will cause the cursor to
  1542.                    jump to its CLOSING bracket.  This command also works
  1543.                    with the ?:; (arithmetic-if) delimiters.
  1544.  
  1545.  
  1546.                                              ____________________________
  1547.    _________________________________________/  Chapter 6   TECHNICAL INFO
  1548.  
  1549.  
  1550.     This chapter is designed to provide you with a broader understanding 
  1551.     of the more important topics covered thus far.  Every attempt has been 
  1552.     made to keep each of these sections as short and to the point as 
  1553.     possible.  The first six contain most of the what you'll need to use 
  1554.     REBEL effectively.  It's highly recommended that you read them.  The 
  1555.     others can be read as you feel the subject matter applies.  While each 
  1556.     section tends to build on the information that precedes it, it is not 
  1557.     necessary to read them in any particular order. 
  1558.  
  1559.  
  1560.  
  1561.     _________________________
  1562.     Section  6.1   CELL TYPES
  1563.  
  1564.     A FORMULA, LABEL, or VARIABLE LABEL cell is created each time an entry 
  1565.     is made (limited to 255 characters) from the Input Line.  The specific 
  1566.     type of cell created, however, depends on whether the entry is 
  1567.     interpreted as a mathematical expression (a formula) or a string of 
  1568.     characters (a label).  For the most part, this is done automatically 
  1569.     by the spreadsheet, which will attempt to make an educated guess based 
  1570.     on the first character of your entry.  It is important that the 
  1571.     correct decision is made (and in most cases it is), since the cell 
  1572.     type governs the way in which a cell's data can be used by other 
  1573.     cells.
  1574.     
  1575.     FORMULA CELLS are created whenever a mathematical expression (formula) 
  1576.     is entered at the Input Line.  This can be anything from a simple 
  1577.     number to a complex set of arithmetic operations.  To be interpreted 
  1578.     as such, it must begin with one of the following characters: 
  1579.  
  1580.                      + - . [ ( 0 1 2 3 4 5 6 7 8 9 
  1581.  
  1582.     There are, however, times when an otherwise valid expression may not 
  1583.     begin with one of the above characters (i.e. expressions that begin 
  1584.     with function calls).  In these situations, you must FORCE the 
  1585.     spreadsheet to interpret your entry as a 'formula' by beginning it 
  1586.     with a plus sign (+).  For example, the formula "sqrt(16)" should be 
  1587.     entered as "+sqrt(16)" to prevent it from being interpreted as a 
  1588.     'label'.  The plus sign (+) will not affect the results. 
  1589.  
  1590.     LABEL CELLS are created whenever an entry is made that DOES NOT begin 
  1591.     with one of the characters that denotes a formula.  Labels consist of 
  1592.     a string of characters that appear on the screen exactly as they are 
  1593.     typed from the Input Line.  The spreadsheet makes no attempt to do 
  1594.     anything special with these entries.  Just as with formulas, however, 
  1595.     there are cases when a label must begin with a character that can 
  1596.     cause some confusion.  For example, the string "1st of January" begins 
  1597.     with a '1'.  If typed in as it stands, the spreadsheet will look at 
  1598.     the first character and think: "this is a formula", and it will create 
  1599.     a FORMULA CELL to store it in.  This, of course, will produce an error 
  1600.     when the spreadsheet attempts to calculate it's value!  That is, what 
  1601.     does "1st of January" mean mathematically?  It is easy to tell when 
  1602.     this has happened by the question marks (?????) which are displayed in 
  1603.     the cell instead of the label you expected.  The solution is simple -  
  1604.     just begin the label with a single quote (').  This will FORCE the 
  1605.     spreadsheet to view the entry as a label, rather than a formula.  The 
  1606.     leading single quote will not appear when the string is displayed. A 
  1607.     label that is longer than the column width of the cells that it's 
  1608.     stored in will overlap up to to 63 adjacent empty cells before its 
  1609.     display is finally terminated. 
  1610.  
  1611.     VARIABLE LABEL CELLS are created ONLY when an entry is made that 
  1612.     begins with a double quote (").  Unlike the single quote ('), which is 
  1613.     often not necessary for standard labels, the double quote is REQUIRED 
  1614.     for variable labels.   Like standard labels, variable labels display 
  1615.     everything in the character string (just as its appears) - except for 
  1616.     Cell Addresses.  When a Cell Address (e.g. [1,2]) is encountered, the 
  1617.     contents of THAT cell is displayed, rather than the Cell Address 
  1618.     itself.  For example, if cell [1,2] contains the string "red", an 
  1619.     entry such as this: 
  1620.                                 "The car is [1,2].
  1621.     would be displayed as:
  1622.                                  The car is red.
  1623.  
  1624.  
  1625.     An UNDEFINED CELL is automatically created by the spreadsheet whenever 
  1626.     an 'empty' cell is referenced by another cell's formula.  You can not 
  1627.     create these cells yourself.  They are easily identified by the long 
  1628.     underscore (________) that appears in the cell's display on the 
  1629.     worksheet; and, can be eliminated only after all references to them 
  1630.     have been removed.  UNDEFINED (empty) cells will return zero (0) when 
  1631.     referenced, which can often produce questionable results. When this 
  1632.     occurs, a series of question marks (?????) will appear in the display 
  1633.     of the cell that contains the address.  To correct it, simply locate 
  1634.     the UNDEFINED cell using the (~) Cell Trace Command (described in 
  1635.     Chapter 7) and enter whatever value the formula expects. 
  1636.     
  1637.     NOTE:  Empty cells are not 'typed' and thus, consume no memory. 
  1638.     
  1639.      
  1640.     _____________________________
  1641.     Section  6.2   CELL ADDRESSES
  1642.  
  1643.     A CELL ADDRESS (e.g. [row,column]) is simply a way of referencing 
  1644.     another cell's value within a formula.  Not only do Cell Addresses 
  1645.     allow you to access the values of other cells, but they also cause the 
  1646.     formulas which use them to be recalculated when the values of the 
  1647.     cells they reference are changed. Cell Addresses are composed of four 
  1648.     (4) parts or fields (the Row, Column, Array Element, and Worksheet 
  1649.     Level) separated by commas and enclosed within square brackets [].  Of 
  1650.     these, only the 'Row' and 'Column' fields that define the cell's 
  1651.     position on the worksheet are required. 
  1652.  
  1653.  
  1654.           REQUIRED________          ________________ OPTIONAL
  1655.                      |    |        |       |
  1656.                    [Row,Column,Element,Worksheet] 
  1657.                                  |        | 
  1658.          only needed when _______|        |____ only needed when accessing
  1659.          accessing arrays                       cells at a different level
  1660.  
  1661.  
  1662.     The ARRAY ELEMENT (the 3rd field) defaults to zero (0) if not used, 
  1663.     causing the Cell Address to reference the value displayed on the 
  1664.     screen.  This value is the result of the expression or formula 
  1665.     associated with the cell.  When a FORMULA cell is first created, there 
  1666.     is NO array space assigned to it.  As a result, this field has no 
  1667.     practical meaning until the area has been setup by the user. If 
  1668.     defined, however, the Array Element field can be used to reference up 
  1669.     to 8000 values assigned to the cell.  For LABEL cells, the field is 
  1670.     used to address individual characters within the label itself.  The 
  1671.     size of the string, therefore, governs the largest maximum element 
  1672.     number that can be accessed.  For additional information, see Section 
  1673.     6.5 on Arrays. 
  1674.  
  1675.     The 4th, WORKSHEET LEVEL, field also defaults to the zero (0) when 
  1676.     left blank.  Not entering a value in this field tells the spreadsheet 
  1677.     to use the level of the worksheet that contains the formula.  This is 
  1678.     what allows a Cell Address to be copied to virtually any level without 
  1679.     requiring it to be modified.  When used, however, the field extends to 
  1680.     you the ability to access cells from any of the four (4) worksheet 
  1681.     levels.  Keep in mind, the Cell Addresses that uses this field may 
  1682.     need to be modified if the worksheet that contains them is later 
  1683.     loaded at a different level.  It's always best to leave this field 
  1684.     BLANK when accessing cells at the same worksheet level (refer to 
  1685.     Section 6.6 - Multiple Worksheets). 
  1686.  
  1687.         Examples:
  1688.     
  1689.            [1,2]       ==>       Makes a reference to the 'value' in 
  1690.                                  the cell located at row 1, column 2
  1691.                                  of the worksheet that contains the
  1692.                                  the formula. 
  1693.     
  1694.            [1,2,0]     ==>       same as above. 
  1695.  
  1696.            [1,2,,4]    ==>       Makes an cell reference to the value
  1697.                                  in the cell located at row 1, column 2
  1698.                                  of worksheet level 4.
  1699.     
  1700.            [1,2,3]     ==>       References the value in the 3rd array
  1701.                                  element of the cell located at row 1,
  1702.                                  column 2 of the worksheet that contains
  1703.                                  the formula.
  1704.  
  1705.  
  1706.     NOTE:  The Row, Column, Array, and Worksheet fields can themselves be
  1707.     Cell Addresses.
  1708.  
  1709.  
  1710.     _______________________
  1711.     Section 6.3   OPERATORS
  1712.  
  1713.     The operators provided by this spreadsheet are patterned after those 
  1714.     defined in the 'C' Programming Language - with a few minor exceptions.  
  1715.     The precedence of each operator is listed in following table from 
  1716.     highest to lowest priority.  Parenthesis (), of course, can be used 
  1717.     at any time to alter the order in which operations are performed. 
  1718.     
  1719.      
  1720.                              UNARY OPERATORS
  1721.     ---------------------------------------------------------------------
  1722.     Op    Name               Use --> Result      Description
  1723.     ---------------------------------------------------------------------
  1724.     !    Logical NOT         !0 --> 1         converts 0 (F) to 1 (True)
  1725.                              !5 --> 0         converts 5 (T) to 0 (False)
  1726.     -    Unary Minus         -(-5) --> 5      negates a negative 5
  1727.     +    Unary Plus          +(-5) --> -5     has no affect
  1728.  
  1729.  
  1730.                            ARITHMETIC OPERATORS
  1731.     ---------------------------------------------------------------------
  1732.     Op    Name               Use --> Result      Description
  1733.     ---------------------------------------------------------------------
  1734.     **   Exponentiation      4**2 --> 16      4 raised to the power of 2
  1735.     *    Multiplication      4*2  --> 8       4 multiplied by 2
  1736.     /    Division            4/2  --> 2       4 divided by 2
  1737.     %    Modulo              5%3  --> 2       remainder of 5 divided by 3
  1738.     +    Addition            5+3  --> 8       5 added to 3
  1739.     -    Subtraction         5-1  --> 4       5 minus 1
  1740.  
  1741.                NOTE:  When using the modulo (%) operator, the values
  1742.                of both expressions are temporarily converted to whole
  1743.                numbers before the operation is performed.  The result
  1744.                is always a whole number. 
  1745.  
  1746.  
  1747.                           BITWISE (SHIFT) OPERATORS
  1748.     ---------------------------------------------------------------------
  1749.     Op    Name               Use --> Result      Description
  1750.     ---------------------------------------------------------------------
  1751.     <<   Left Shift          2<<3 --> 16       shift the bits that
  1752.                                                  represent the number 2
  1753.                                                  3 positions to the left
  1754.  
  1755.     >>   Right Shift         16>>3 --> 2       shift the bits that
  1756.                                                  represent the number 2
  1757.                                                  3 positions to the left
  1758.  
  1759.                NOTE:  The values of both expressions are temporarily 
  1760.                converted to whole numbers before these operations
  1761.                are performed.  The result is always a whole number. 
  1762.  
  1763.  
  1764.                             RELATIONAL OPERATORS
  1765.     ---------------------------------------------------------------------
  1766.     Op    Name               Use --> Result      Description
  1767.     ---------------------------------------------------------------------
  1768.     ==    Equal to           4==5 --> 0 (F)    4 equals 5  (FALSE or 0)
  1769.     !=    Not Equal to       2!=3 --> 1 (T)    2 does not equal 3 (TRUE)
  1770.     <=    Less or Equal      2<=2 --> 1 (T)    2 is less than or equal
  1771.                                                  to 2 (TRUE or 1)
  1772.     >=    Greater or Equal   2>=4 --> 0 (F)    2 is not greater than or
  1773.                                                  equal to 4 (FALSE or 0) 
  1774.     <     Less than          2<3 -->  1 (T)    2 is less than 3 (TRUE)
  1775.     >     Greater than       3>2 -->  1 (T)    3 is greater than 2 (TRUE)
  1776.  
  1777.  
  1778.  
  1779.                              BITWISE  OPERATORS
  1780.     ---------------------------------------------------------------------
  1781.     Op    Name               Use --> Result      Description
  1782.     ---------------------------------------------------------------------
  1783.     &     Bitwise AND        1&3 --> 1         bits are set where
  1784.                                                  corresponding bits of
  1785.                                                  both numbers are the same
  1786.     |     Bitwise OR         1|3 --> 3         bits are set when either 
  1787.                                                  number has a corresponding
  1788.                                                  bit set
  1789.  
  1790.  
  1791.                NOTE:  The values of both expressions are temporarily 
  1792.                converted to whole numbers before these operations
  1793.                are performed.  The result is always a whole number. 
  1794.     
  1795.  
  1796.  
  1797.                              LOGICAL  OPERATORS
  1798.     ---------------------------------------------------------------------
  1799.     Op    Name               Use --> Result      Description
  1800.     ---------------------------------------------------------------------
  1801.     &&    Logical AND        (1<2)&&0 --> 0(F)   if (1<2) is TRUE AND
  1802.                                                    0 is TRUE (0 is FALSE) 
  1803.                                                    then the result is
  1804.                                                    TRUE (1)
  1805.  
  1806.     ||    Logical OR         (1<2)||0 --> 1(T)   if (1<2) is TRUE OR 
  1807.                                                    0 is TRUE then the
  1808.                                                    result is TRUE (1)
  1809.  
  1810.  
  1811.  
  1812.                             ASSIGNMENT  OPERATORS
  1813.     ---------------------------------------------------------------------
  1814.     Op    Name               Use                 Description
  1815.     ---------------------------------------------------------------------
  1816.  
  1817.     IMPORTANT!  Assignments can only be made to ARRAY ELEMENTS or the 
  1818.     SPECIAL REGISTERS associated to Range Operations.
  1819.  
  1820.  
  1821.     =     Assignment         [1,1,6] = 5         assigns the value (5)
  1822.                                                    to the sixth array
  1823.                                                    element of cell [1,1]
  1824.  
  1825.     +=    addition           x += 5              same as  x = x + 5
  1826.     -=    subtraction        x -= 5              same as  x = x - 5
  1827.     *=    multiplication     x *= 5              same as  x = x * 5
  1828.     /=    division           x /= 5              same as  x = x / 5
  1829.     %=    modulo             x %= 5  (see note)  same as  x = x % 5
  1830.     <<=   shift left         x <<=5  (see note)  same as  x = x << 5
  1831.     >>=   shift right        x >>=5  (see note)  same as  x = x >> 5
  1832.     &=    AND (bitwise)      x &= 5  (see note)  same as  x = x & 5
  1833.     |=    OR  (bitwise)      x |= 5  (see note)  same as  x = x | 5
  1834.  
  1835.  
  1836.                NOTE:  The Compound Assignments (% << >> & and |) 
  1837.                will temporarily convert both operands to whole 
  1838.                numbers before computing the results.  The result 
  1839.                is always returned as a whole number. 
  1840.  
  1841.    
  1842.         Example:
  1843.  
  1844.           1)  [1,2,1] = 5    (legal)
  1845.           2)  [1,2] = 5      (illegal)
  1846.           3)  [1,2,1] += 5   (takes the value in [1,2,1], adds 5 to it
  1847.                               and places the results back into [1,2,1])
  1848.  
  1849.  
  1850.  
  1851.                          TERNARY CONDITIONAL OPERATOR
  1852.     ---------------------------------------------------------------------
  1853.     Op    Name               Use --> Result      Description
  1854.     ---------------------------------------------------------------------
  1855.  
  1856.     ?:;   Arithmetic         (2>1)?5:4;  --> 5     IF 2 is greater than 1
  1857.           if-then-else                             THEN(?)  5
  1858.                                                    ELSE(:)  4
  1859.  
  1860.  
  1861.                      ____ (optional assignment to an array element)
  1862.                     |
  1863.                     |     (IF)           (THEN)          (ELSE)
  1864.             [r,c,a] = (Expression_1) ? Expression_2 : Expression_3 ;
  1865.                                      |              |              |
  1866.                                      |_________(REQUIRED)__________|
  1867.  
  1868.  
  1869.               IF:   'Expression_1' results in a non-zero value
  1870.  
  1871.               THEN: The expression that follows the question mark (?)
  1872.                     is evaluated (i.e. 'Expression_2') and whatever
  1873.                     follows the colon (:) is ignored.
  1874.  
  1875.               ELSE: The expression that follows the colon (:) is
  1876.                     evaluated (i.e. 'Expression_3').
  1877.  
  1878.    
  1879.         Example 1    ARITHMETIC IF-THEN-ELSE
  1880.  
  1881.         IF the contents of cell [1,1] is greater than or equal to the
  1882.         contents of cell [2,2]:  THEN multiply the contents of cell
  1883.         [3,3] by 2;  ELSE multiple the contents of [3,3] by 4. 
  1884.         AND assign the results of Array Element 6 of cell [1,2].
  1885.  
  1886.                               e1             e2          e3
  1887.             [1,2,6]  =  ([1,1]>=[2,2])  ?  [3,3]*2  :  [3,3]*4;
  1888.  
  1889.         or 
  1890.  
  1891.             ([1,1]>=[2,2])  ?  [1,2,6]=[3,3]*2  :  [1,2,6]=[3,3]*4;
  1892.  
  1893.  
  1894.  
  1895.     _______________________
  1896.     Section 6.4    FORMULAS
  1897.  
  1898.     A 'formula' is the expression (or the set of arithmetic operations) 
  1899.     that is associated with a FORMULA cell when it is first created.  It 
  1900.     is recalculated each time a change is made to one of the cells it 
  1901.     addresses.  Since any cell can have a formula, which in turn can 
  1902.     reference the results of other cells, a whole progression of 
  1903.     calculations can be performed based on a single change.
  1904.  
  1905.     Any given cell can have only one formula assigned to it.  When 
  1906.     evaluated, the result is ALWAYS stored at Element position '0' of the 
  1907.     Cell Address ([1,2,0] or by default [1,2]), which is reserved for this 
  1908.     purpose.  Other Element positions (i.e. those associated with the 
  1909.     optional ARRAY AREA) can not have 'formulas' assigned to them.  This 
  1910.     is a subtle, but important, distinction between Element position '0' 
  1911.     and those that range between 1 and 8000,  which is discussed in more 
  1912.     detail in the next section.  
  1913.  
  1914.  
  1915.     ____________________
  1916.     Section 6.5   ARRAYS
  1917.  
  1918.     Arrays have two unique properties:  1) they allow you to store large 
  1919.     amounts of information with very little overhead; and 2) their values 
  1920.     can be set with the assignment operators (=, +=, -=, etc.). 
  1921.  
  1922.     Once a FORMULA CELL has been created, an ARRAY AREA of upto 8000 
  1923.     values can be defined and attached to it (see Section 4.1  "Array" 
  1924.     for more information on how to do this).  These values can then be 
  1925.     referenced by including the Array Element field in the Cell Address.  
  1926.     For example, the Cell Address "[1,2,7]" would reference the 7th array 
  1927.     value assigned to the cell at row 1, column 2.  An important point to 
  1928.     remember is that element position '0' IS NOT part of the ARRAY AREA.  
  1929.     This position is reserved for the result of the cell's formula and is 
  1930.     assigned to it when the cell is first created.  The ARRAY AREA, on the 
  1931.     other hand, is defined by the user and can only be used to store 
  1932.     static values or numbers.  Referencing elements outside of the array 
  1933.     area (by using element numbers larger than the maximum size of the 
  1934.     array space defined for the cell) will always return a value of zero 
  1935.     (0). 
  1936.  
  1937.     Because formulas are not and cannot be associated with the values 
  1938.     stored in the ARRAY AREA, modifications to these values will not 
  1939.     trigger recalculations of any cell that references them; so, exercise 
  1940.     caution when referencing arrays that might have their values changed 
  1941.     (see Section 6.11 "Forced Recalculations" for ways around this).   
  1942.     Generally speaking, arrays should be reserved for relatively static 
  1943.     data.  If necessary, however, array values can modified from either 
  1944.     the Input Line (see Chapter 7  "Set Element") or programmatically with 
  1945.     the assignment operators (see Section 4.3 - Assignment Operators).  
  1946.  
  1947.     When using assignment operators, the Array Element field of the Cell 
  1948.     Address MUST be included and it MUST be greater than or equal to 1 and 
  1949.     less than or equal to the maximum array space defined for the cell. 
  1950.     You can NOT uses an assignment operator to change the value at element 
  1951.     position '0'.  Remember, this position is reserved for the cell's 
  1952.     formula and is not part of the array space.  This might best be 
  1953.     explained with an example.  Let's say you enter the expression "2+2" 
  1954.     in cell [1,2].  In this case, the value 4 would be stored at element 
  1955.     position '0' and would be displayed on the screen.  If you were then 
  1956.     to type the expression "[1,2,0]=3" at another cell location, you would 
  1957.     in effect be trying to tell cell [1,2] that the result of its formula 
  1958.     "2+2" equals 3 - not 4!  If, on the other hand, you had entered 
  1959.     "[1,2,1]=3" it would have been perfectly legal, since an array element 
  1960.     simply stores a value and is not the result of a pre-assigned formula. 
  1961.      
  1962.     NOTE:  While an Array Area can be assigned to a cell at any time, it 
  1963.     is best to do it (especially for large ones) as soon as possible after 
  1964.     starting up the program - before the computer's memory becomes 
  1965.     fragmented.  You should also be careful when moving cells that contain 
  1966.     arrays, as other cells that contain formulas that reference the array 
  1967.     elements of these cells will not be adjusted to the new location. 
  1968.  
  1969.     IMPORTANT!  As previously mentioned, arrays can only be assigned to 
  1970.     FORMULA cells.  This, however, does not mean that the Array Element 
  1971.     field of cells that contain LABELS is not used.  For LABELS, this 
  1972.     field is used to address specific characters within a label.  For 
  1973.     example, if cell [1,3] contained the label "Hello world!", [1,3,1] 
  1974.     would address the first letter 'H' (or more specifically, the ASCII 
  1975.     value for 'H' which is 72).  The assignment operators can also be used 
  1976.     to reset the characters of any label to any ASCII value ranging 
  1977.     between 32 and 255.  Characters greater than 125, however, will not be 
  1978.     saved when backing up your worksheet. 
  1979.  
  1980.  
  1981.         Example 1   REFERENCING AN ARRAY ELEMENT
  1982.  
  1983.                                 [1,2,7] * 10
  1984.  
  1985.         Example 2   ASSIGNING A VALUE TO AN ARRAY ELEMENT
  1986.  
  1987.                           [1,2,7] = 25.0
  1988.  
  1989.         Example 3   LOAD AN ARRAY AREA
  1990.  
  1991.         Load a 400 element array, defined at cell [1,50], with a range
  1992.         of values that appear between cells [1,1] and [20,20] on the
  1993.         worksheet (see Section 6.7  "Range Operations" for details on
  1994.         how to interpret this expression).
  1995.  
  1996.                        [1,1 ^ 20,20; {[1,50,[#]]=[@]}]
  1997.  
  1998.                  NOTE: The array area for cell [1,50] must
  1999.                  have been defined prior to making these
  2000.                  assignments.
  2001.  
  2002.  
  2003.     __________________________________
  2004.     Section 6.6    MULTIPLE WORKSHEETS 
  2005.     
  2006.     Up to four (4) worksheets can be loaded and accessed at any given time. 
  2007.     You can move between them with the Forward Slash (/) 'Goto' Command 
  2008.     described later on in Chapter 7.  The number between the angle brackets 
  2009.     <>, located at the intersection of the Row and Column Bars, indicates 
  2010.     the worksheet level of each window. 
  2011.  
  2012.     Formulas can be written that reference cell values from the same 
  2013.     worksheet by leaving the Worksheet Level field BLANK or from 
  2014.     worksheets loaded at different levels by including the Worksheet 
  2015.     Level field in the Cell Address.  For example: 
  2016.  
  2017.         [1,2]        ==>     Addresses the cell at row 1, column 2 of
  2018.                              whatever level the formula that contains
  2019.                              this reference is loaded at (1 thru 4).
  2020.  
  2021.         [1,2,,3]     ==>     Addresses the cell at row 1, column 2,
  2022.                              worksheet 3  (this address will always
  2023.                              access the cell at level 3 - no matter
  2024.                              what level it is loaded at)
  2025.  
  2026.         [1,2,0,3]    ==>     same as above
  2027.  
  2028.     Normally, it IS NOT a good idea to include the 'Worksheet Level' field 
  2029.     in a Cell Address that reference a cells at the SAME level.  First it 
  2030.     is not necessary; and second, it can cause problems if you later copy 
  2031.     the cell's formula to another level.  When this field is left blank or 
  2032.     is set to zero (0), it's value will automatically be reset to whatever 
  2033.     level it's loaded at!  This allows formulas that contain Cell 
  2034.     Addresses to be copied to virtually any level without modifying them. 
  2035.     Remember, whenever the Worksheet Level is specified (hardcoded) in a 
  2036.     Cell Address, that Cell Address will ALWAYS access that particular 
  2037.     cell - no matter where the formula that contains the address is later 
  2038.     copied.  For example, if a formula entered at level 1 contains a 
  2039.     hardcoded cell reference to another cell at level 1 (e.g. [2,3,,1]), 
  2040.     it will still reference the same cell (at level 1) - even if the 
  2041.     worksheet is later loaded at level 3.  So, when in doubt, do not use 
  2042.     the 'Worksheet Level' field, since 99 percent of the time your 
  2043.     formulas will be referencing other cells in the same worksheet. 
  2044.  
  2045.  
  2046.     _______________________________
  2047.     Section 6.7    RANGE OPERATIONS 
  2048.  
  2049.     Unlike most spreadsheets, that restrict a range to defining a block of 
  2050.     cells which can be used in function calls, this spreadsheet allows a 
  2051.     range to be used in much the same way as a Cell Address.  That is, a 
  2052.     range (or Range Operation) IS AN EXPRESSION that returns a value - not 
  2053.     just a block of cells.  What makes this possible, is the ability to 
  2054.     associate one or more formulas with the range of cells.  While 
  2055.     computing the value to be returned by a Range Operation, each of these 
  2056.     formulas is evaluated once, except when surrounded by curly braces {}; 
  2057.     in which case, the expression is evaluated once for each FORMULA cell 
  2058.     in the range.  This allows you to move though a whole series of cells, 
  2059.     performing a variety of operations as you go.  The following is a 
  2060.     diagram of how Range Operations are organized: 
  2061.      
  2062.  
  2063.                         defines                   formulas surrounded by
  2064.                         lower right               curly braces {} are
  2065.                         corner ___                executed once for
  2066.            defines                |             _ each cell in the range
  2067.            upper left ______      |___         |
  2068.            corner       |   |     |   |        |
  2069.                       [row,col ^ row,col ; f; {f}; f;]
  2070.                                |         | |_______|  
  2071.                   required ____|         |         |____ formulas not
  2072.                                          |               surrounded by
  2073.                    required between _____|               {} are evaluated
  2074.                    each formula                          only once
  2075.  
  2076.  
  2077.             [  ]  -  By definition, Range Operations MUST be
  2078.                      enclosed within square brackets.
  2079.       
  2080.               ^   -  The (^) symbol is a required to separate the
  2081.                      cells which define the upper left and lower
  2082.                      right corners of the range of cells.
  2083.  
  2084.               f   -  The (f) in the above diagram represents an
  2085.                      expression (formula) that is evaluated once
  2086.                      when it is first encountered. 
  2087.  
  2088.              {f}  -  Curly brackets {} act like a FOR or DO loop
  2089.                      that forces the Range Operation to access the
  2090.                      value of each FORMULA cell within the range
  2091.                      (beginning at the upper left corner and moving
  2092.                      in a left-right direction).  The formula within
  2093.                      the brackets is executed once as each cell is
  2094.                      encountered.  Only one formula can be enclosed
  2095.                      within each set of brackets. 
  2096.  
  2097.               ;   -  Each formula must be separated by a semicolon.
  2098.  
  2099.                 
  2100.     There are also seven special 'registers' that are reserved especially 
  2101.     for Range Operations.  These registers are designed to track critical 
  2102.     values that may change as the expressions (associated with the Range 
  2103.     Operations) are evaluated.  Each is represented by a special character 
  2104.     enclosed within square brackets (i.e. [$], [#], etc.) and is described 
  2105.     below. 
  2106.  
  2107.              [$]  -  Contains the INTERMEDIATE and FINAL results of a 
  2108.                      Range Operation.  It acts as an accumulator, whenever 
  2109.                      an expression is surrounded by curly braces {}, 
  2110.                      storing the value produced by the expression after it 
  2111.                      is evaluated once for each cell within the range.  By 
  2112.                      default, this register is initialized to '0' prior to 
  2113.                      evaluating an expression surrounded by curly braces. 
  2114.  
  2115.              [@]  -  Whenever an expression is enclosed within curly 
  2116.                      brackets {}, it will be evaluated once for every 
  2117.                      FORMULA cell within the range.  The [@] register acts 
  2118.                      like a variable Cell Address that contains the VALUE 
  2119.                      of the cell currently being accessed by the Range 
  2120.                      Operation as it moves from one cell to the next. 
  2121.  
  2122.              [#]  -  This register is a COUNTER.  It is initialized to one 
  2123.                      (1) at the start of any expression that is surrounded 
  2124.                      by curly brackets {}.  Its value is incremented by 
  2125.                      one each time the Range Operation moves to the next 
  2126.                      FORMULA cell. 
  2127.  
  2128.              [*]  -  This register has no predefined function. It can
  2129.                      be used with assignment operations to hold the 
  2130.                      intermediate results of any calculation.
  2131.  
  2132.              [-]  -  Whenever an expression is enclosed within curly 
  2133.                      brackets {}, it will be evaluated once for every 
  2134.                      FORMULA cell within the range.  The [-] register
  2135.                      contains the ROW number of the cell currently being 
  2136.                      accessed by the Range Operation.  This is the same 
  2137.                      cell whose value is currently in the [@] register. 
  2138.  
  2139.              [|]  -  This register contains the COLUMN number of the cell 
  2140.                      currently being accessed by the Range Operation. 
  2141.  
  2142.              [%]  -  This register contains the WORKSHEET LEVEL number of 
  2143.                      the cell currently being accessed by the Range 
  2144.                      Operation. 
  2145.  
  2146.  
  2147.             Example 1   COUNT THE CELLS
  2148.  
  2149.             Count the number of FORMULA cells within a range.  (Empty
  2150.             cells and cells that contain Labels are skipped.)
  2151.  
  2152.                              [1,1 ^ 12,12]
  2153.  
  2154.                NOTE:  By default, a Range Operation that contains
  2155.                no formulas will return the total number of FORMULA
  2156.                cells found within the range.  A more literal way of
  2157.                doing the same thing would be:
  2158.      
  2159.                            [1,1 ^ 12,12; [$]=[#] ]
  2160.  
  2161.                REMEMBER:  The result of any expression, after
  2162.                it has been evaluated (in this case: [#]) will
  2163.                automatically be placed in the [$] register.
  2164.                As a result, the [$]=[#] assignment really isn't
  2165.                necessary and the above Range Operation could have
  2166.                been shortened to look like this:
  2167.  
  2168.                              [1,1 ^ 12,12; [#] ]
  2169.  
  2170.  
  2171.             Example 2   SUM THE CELL WITHIN A RANGE
  2172.  
  2173.                                     ___ accumulated results
  2174.                                    |
  2175.                    [1,1 ^ 12,12; {[$]+[@]} ]
  2176.                                        |___ current cell value
  2177.                 
  2178.  
  2179.             Example 3   SUM THE VALUES IN AN ARRAY
  2180.  
  2181.                                        ___ accumulated results
  2182.                                       |
  2183.                    [2,3,1 ^ 2,3,12; {[$]+[@]} ]
  2184.                         |        |        |___ current cell value
  2185.                         |________|___ array element numbers
  2186.  
  2187.                NOTE:  Range Operations can only be performed on 
  2188.                arrays if the Row, Column, and Worksheet Level
  2189.                are equal.
  2190.  
  2191.  
  2192.             Example 4   COMPUTE AVERAGE VALUE WITHIN A RANGE
  2193.  
  2194.                         accumulated results___
  2195.                                               |
  2196.                     [1,1 ^ 12,12; {[$]+[@]}; [$]/[#] ]
  2197.                                                   |
  2198.                                 final cell count__|
  2199.  
  2200.                REMEMBER:  Only FORMULA cells are visible to a
  2201.                Range Operation.
  2202.  
  2203.                      
  2204.             Example 5   RETURN THE LARGEST NUMBER
  2205.  
  2206.             Find the largest positive number within the range bounded
  2207.             by cell [10,10] in the upper left hand corner and cell
  2208.             [20,20] in the lower right corner.
  2209.  
  2210.                    [10,10^20,20; {([@]>[$]) ?[@] :[$];} ]
  2211.  
  2212.  
  2213.             Example 6    STANDARD DEVIATION
  2214.  
  2215.             Compute the Standard Deviation for a range of cells 
  2216.             between [1,1] and [5,1] that contain the following
  2217.             values: 3, 3, 4, 7, and 8, respectively.
  2218.  
  2219.                    save average ____
  2220.                                     |
  2221.             [1,1 ^ 5,1; {[$]+[@]}; [*]=[$]/[#]; {[$]+([@]-[*])**2};
  2222.             sqrt([$])/([#]-1))]
  2223.  
  2224.  
  2225.             Example 7    SEARCH A RANGE OF VALUES
  2226.  
  2227.             Perform a Table Search between cells [1,1] and [5,1] for
  2228.             the first value greater than 4.  If found, return the value
  2229.             located one column to the right of it.  (This is similar to
  2230.             the @VLOOKUP function used by many spreadsheets).
  2231.  
  2232.             [1,1 ^ 5,1; {[*] = ([@]>4) ?[[-],[|]+1] :[*];}; [$]=[*]]
  2233.  
  2234.                                                               
  2235.     ____________________________________
  2236.     Section 6.8    DIRECT CELL ADDRESSES
  2237.  
  2238.     A Cell Address (i.e. [Row,Col,Element,Level]) makes a 'direct' cell 
  2239.     reference to the value in another cell when:  NONE OF THE FIELDS USED 
  2240.     WITHIN THE CELL ADDRESS ARE VARIABLE.  That is, when the specific cell 
  2241.     that is being referenced by a Cell Address (within a formula) can 
  2242.     never be changed as the result of an update made somewhere else in the 
  2243.     spreadsheet, it is termed a 'direct' cell reference.  For example, 
  2244.     "[1,2]" makes a direct cell reference to the cell at row 1 column 2, 
  2245.     since it's Row or Column fields can not vary.  Direct cell references 
  2246.     have one very important property - THEY CAN CAUSE THE FORMULAS THAT 
  2247.     CONTAIN THEM TO BE RECOMPUTED WHENEVER THE VALUE OF THE CELL BEING 
  2248.     ADDRESSED IS CHANGED.  This is opposed to expressions that contain 
  2249.     'indirect' cell references, which are not recomputed under similar 
  2250.     circumstances.  The reason for this is that the spreadsheet is able to 
  2251.     keep track of 'direct' cell references, but not 'indirect' references 
  2252.     - due to their dynamic nature.  (see Section 6.9 - Indirect Cell 
  2253.     References) 
  2254.  
  2255.  
  2256.     ______________________________________
  2257.     Section 6.9    INDIRECT CELL ADDRESSES
  2258.  
  2259.     Because the 'Row', 'Column', 'Array', and 'Worksheet' fields are 
  2260.     themselves expressions, their values could vary based on changes made 
  2261.     to the spreadsheet.  If this should occur, it would have the affect of 
  2262.     changing the actual cell being addressed!  This is called 'indirect' 
  2263.     cell addressing; and, it can be quite useful at times.  Say, for 
  2264.     example, cell [1,1] contains the value 10 and cell [2,2] contains the 
  2265.     value 20.  A Cell Address can now be written that uses the values in 
  2266.     both of these cells as its 'row' and 'column' number fields; thereby 
  2267.     referencing cell [10,20] - INDIRECTLY!   In other words, the cell that 
  2268.     is actually being addressed depends on the contents of cells [1,1] and 
  2269.     [2,2].  It might look something like this: 
  2270.  
  2271.                                __________________ Indirect Reference
  2272.                               |               |     to cell [10,20]
  2273.                    
  2274.                               [ [1,1] , [2,2] ]
  2275.        The ROW is the value       |       |     The COLUMN is the 
  2276.        value in cell [1,1]________|       |____ value in cell [2,2]
  2277.  
  2278.  
  2279.            NOTE:  In the above example, the references to cells
  2280.            [1,1] and [2,2] are 'direct' cell references.
  2281.  
  2282.      
  2283.     Notice that as the values in cells [1,1] and/or [2,2] change, the 
  2284.     'address' of the cell being referenced by the above expression will 
  2285.     also change.  This can be a very powerful means of accessing values 
  2286.     within tables, depending on the results of other calculations.  There 
  2287.     is, however, one significant trade off you must make when using 
  2288.     'indirect' cell references: 
  2289.  
  2290.          CHANGES MADE TO THE VALUE OF ANY CELL THAT IS REFERENCED
  2291.          'INDIRECTLY' WILL NOT CAUSE THE FORMULA CONTAINING THAT
  2292.          REFERENCE TO BE RECALCULATED. 
  2293.  
  2294.     The only way to get around this particular drawback is to set a flag 
  2295.     that will FORCE the cell, containing the reference, to be recalculated 
  2296.     each time ANY change is made to the spreadsheet (see Section 6.11 -  
  2297.     Forced Recalculations). 
  2298.                 
  2299.   
  2300.  
  2301.     _____________________________________________
  2302.     Section 6.10   WHEN FORMULAS ARE RECALCULATED
  2303.  
  2304.     Sometimes it is difficult to tell when a change to the value of a cell 
  2305.     will affect the value in another cell.  If you are having trouble with 
  2306.     this, try to remember the following rule: 
  2307.      
  2308.          A DIRECT CELL REFERENCE, within a formula, will cause THAT
  2309.          formula to be recalculated each time the value of the cell
  2310.          (being referenced) is changed.
  2311.  
  2312.          NOTE:  There is one exception to this rule - Range Operations.
  2313.          While Range Operations do not make 'direct' cell references to
  2314.          the range of the cells that can affect them, they do take on
  2315.          one of the characteristics of 'direct' cell references -
  2316.          FORMULAS THAT CONTAIN 'RANGE OPERATIONS' WILL BE UPDATED
  2317.          EACH TIME THE VALUE OF A CELL WITHIN THE RANGE IS CHANGED.
  2318.  
  2319.  
  2320.     If you are ever in doubt as to which cells cause a specific formula to 
  2321.     be recomputed, you can use the (~) Cell Trace Command to find out (see 
  2322.     Chapter 7).  By placing the Cell Pointer over the cell in question and 
  2323.     then execute this command from the Input Line, you will be shown all 
  2324.     of the cells that it makes a DIRECT REFERENCE to.  These are the cells 
  2325.     that will cause the formula to be recomputed if their values are 
  2326.     changed.  In addition, you will be shown the cells that use the value 
  2327.     of the cell in question. 
  2328.  
  2329.            
  2330.     ______________________________________________
  2331.     Section 6.11   FORCING FORMULAS BE RECALCULATE
  2332.  
  2333.     Occasionally, you may run into a case were a cell's formula is not 
  2334.     recalculate when the value of one of the cells that it references is 
  2335.     changed.  For example, if a cell makes an INDIRECT CELL REFERENCE to 
  2336.     another cell, its formula will NOT be recomputed when the value of 
  2337.     this (indirectly) referenced cell is changed.  When it is absolutely 
  2338.     necessary that a cell's value reflect such changes, a special flag can 
  2339.     be set that will FORCE the cell's formula to be recalculated whenever 
  2340.     ANY change is made to the spreadsheet.  Section 4.1 "+ReCalc" 
  2341.     describes how to do this by setting up and executing the following 
  2342.     command:  "+ReCalc  Cell  OKAY?".  This flag should be used sparingly, 
  2343.     however, as it defeats the "Minimal Re-Calc" capabilities of the 
  2344.     spreadsheet. 
  2345.     
  2346.  
  2347.     __________________________________________
  2348.     Section 6.12    OPTIMIZING YOUR WORKSHEET
  2349.     
  2350.     Generally speaking, there are several things you can do to optimize 
  2351.     your worksheet:  1) PREVENT complex formulas from being recomputed 
  2352.     until their results are needed with the "+NoCalc" setting  (see 
  2353.     Section 4.1);  2) LIMIT the number of 'indirect' cell references - 
  2354.     'direct' cell references are faster;  3) KEEP the 'dRange' default 
  2355.     setting set to 1 (refer to Section 4.8) to reduce the number of times 
  2356.     a formula that contains a recursive Range Operation will be 
  2357.     recalculate. 
  2358.     
  2359.     If a cell contains a complicated formula that takes a long time to re-
  2360.     calculate, you can speed up the spreadsheet by blocking the 
  2361.     calculation until you the specifically request that it be made.  
  2362.     Section 4.1 describes how to do this by setting up and executing the 
  2363.     following command:  "+NoCalc  Cell  OKAY?".  It's up to you, however, 
  2364.     to remember when and where you have used this flag on a cell! 
  2365.  
  2366.     To minimize the number of calculations that must be performed after a 
  2367.     change has been made to the spreadsheet, REBEL will only re-compute 
  2368.     the cells that are affected by the change.  This is often referred to 
  2369.     as "minimal recalc".  There are, however, certain cases in which this 
  2370.     strategy can be more of a disadvantage than an advantage.  Take, for 
  2371.     example, cell [25,25] whose formula contains a 'Range Operation' that 
  2372.     sums all of the cells bounded by cell [1,1] (in the upper left corner) 
  2373.     and cell [20,20] (in the lower left corner).  The expression might 
  2374.     look something like this:  [1,1 ^ 20,20; {[$]+[@]}].  Here's the 
  2375.     problem, lets say that EACH cell within that range is affected by a 
  2376.     change made to cell [45,45] (i.e. all cells within this range make a 
  2377.     'direct' reference to this cell).  Now, imagine the following 
  2378.     scenario.  Suppose you change the value at cell [45,45].  What 
  2379.     happens?   Each of the cells within the range will be recomputed; AND 
  2380.     each time this happens it will triggers the formula in cell [25,25] to 
  2381.     be recomputed.  As a result, the Range Operation in cell [25,25] will 
  2382.     be needlessly recomputed 400 times (once for each cell in the range); 
  2383.     when in reality, the Range Operation only needed to be recomputed once 
  2384.     at the end - after all of the changes had been made.   This, of 
  2385.     course, is a worst case and it is also easy to handle (if you 
  2386.     recognize that it's happening) with a special setting that limits the 
  2387.     number of times a Range Operation can be be recalculated as the result 
  2388.     of a single change made to the worksheet (see Section 4.8 - "dRange"). 
  2389.       
  2390.     Another type of Range Operation that can cause problems is one that 
  2391.     includes itself WITHIN ITS OWN RANGE!  That is, a Range Operation that 
  2392.     makes a circular reference to itself, causing the cell's formula to be 
  2393.     recalculated - indefinitely.  Once again, the "dRange" setting can be 
  2394.     used to control this situation. 
  2395.  
  2396.  
  2397.     ___________________________________
  2398.     Section 6.13   MISCELLANEOUS TOPICS
  2399.  
  2400.  
  2401.     ENTERING NUMBERS (from the Input Line)
  2402.  
  2403.       Numbers can be entered from the Input Line in several different ways,
  2404.       in addition to the standard decimal format.  For example:
  2405.  
  2406.         1)  The numeric value of any ASCII character can be entered by
  2407.             enclosing the character within single quotes.  Note, if the
  2408.             single quote is the first character in the expression, be
  2409.             sure the precede it with a plus sign (+).  This will prevent
  2410.             the expression from being interpreted as a Label.
  2411.  
  2412.                        'A'  ===>   65
  2413.                        'B'  ===>   66
  2414.                        '!'  ===>   33
  2415.  
  2416.         2)  Octal numbers can be entered by beginning them with a zero:
  2417.  
  2418.                        040  ===>   32
  2419.                       0377  ===>   255
  2420.  
  2421.         3)  Hexadecimal numbers can be entered by preceding them with a
  2422.             "0x":
  2423.                       0xFF  ===>  255
  2424.  
  2425.       IMPORTANT!  To avoid confusion, remember to NEVER being a decimal
  2426.       number with a zero  (unless, of course, the number is zero)!
  2427.  
  2428.  
  2429.     SWITCHES 
  2430.  
  2431.       Two switch can be used when starting up REBEL:  
  2432.        
  2433.         1)  The -s switch can be used to create a backup file, whenever
  2434.             a worksheet is load.  This file will be an exact copy of
  2435.             the original worksheet, but will have a .RB0 extension.
  2436.  
  2437.         2)  The -b switch can be used to startup REBEL in black and white
  2438.             mode; otherwise, the program will be be started in the color
  2439.             mode.
  2440.  
  2441.  
  2442.     RESERVED and WILDCARD CHARACTERS
  2443.  
  2444.       The tilde (~) character is reserved by REBEL.  As a result, this 
  2445.       character can not be used within text labels.  This character is,
  2446.       however, used as a wildcard character in several commands (refer to 
  2447.       the 'Search' command in the next Chapter, and the 'Load' and 'ListDir' 
  2448.       commands described in Section 4.3.
  2449.  
  2450.  
  2451.                                                   ________________________
  2452.     _____________________________________________/  Chapter 7   SHORT CUTS 
  2453.  
  2454.  
  2455.  
  2456.     The following 'Short Cut' commands are designed to be executed from
  2457.     the Input Line (below the Function Key Menu).  They do not perform
  2458.     critical tasks; although, you may find them useful time savers.  Each
  2459.     of these commands (with the exception of the <Tab> Command) must be
  2460.     followed by the <Enter> key before it is executed.
  2461.  
  2462.     NOTE!  Because the backslash (\), period (.), and equal sign (=) are
  2463.     used to trigger Short Cut Commands, you CANNOT begin a LABEL with one
  2464.     of these characters without first preceding it with a single quote (').
  2465.  
  2466.  
  2467.         Command                                  Description
  2468.  
  2469.      CHANGE WINDOWS    <Tab>       Pressing the <Tab> key at the Input Line
  2470.                                    prompt, will cause the Cell Pointer to
  2471.                                    move to another window (if one exists).
  2472.  
  2473.      SEARCH            (\...)      A backslash (\) followed by any pattern 
  2474.                                    of characters will cause the Cell Pointer
  2475.                                    to move to the first cell the contains an
  2476.                                    occurrence of that pattern. If the Cell
  2477.                                    Pointer is positioned on an 'empty' cell,
  2478.                                    the search will begin at the top of the
  2479.                                    worksheet.  If the Cell Pointer is
  2480.                                    positioned on an 'occupied' cell, the
  2481.                                    search will begin from that point. The
  2482.                                    pattern does not have to be re-entered
  2483.                                    to make repeated searches. Simply type
  2484.                                    a backslash (\) followed by the <Enter>
  2485.                                    key after you have entered the pattern
  2486.                                    the first time. The wildcard character
  2487.                                    (~) can also be included within the
  2488.                                    search pattern.
  2489.  
  2490.      GOTO CELL         (/)         A Forward Slash (/) will produce a series
  2491.                                    of prompts that will request the Row,
  2492.                                    Column, and Worksheet Level to move the
  2493.                                    Cell Pointer to.  The value in the square
  2494.                                    brackets [] of each of these prompts is
  2495.                                    the default answer that will be used if
  2496.                                    you press the <Enter> key with no other
  2497.                                    input. This command can also be used with
  2498.                                    prompts that require you to move the
  2499.                                    Cell Pointer to define a Range or Target
  2500.                                    cell.
  2501.  
  2502.      DISPLAY ELEMENT   (=e)        An Equal Sign (=) followed by an array
  2503.                                    element number (e.g. =5) can be used to
  2504.                                    display the value of any array position
  2505.                                    of the cell highlighted by the Cell
  2506.                                    Pointer.  The display appears at the
  2507.                                    Input Line and can be removed by pressing
  2508.                                    any key.  For example, "=1" will display
  2509.                                    the value of the first array element.
  2510.                                    Note: "=0" (or simply "=") will always
  2511.                                    return the value associated with the
  2512.                                    cell's formula.  The following variations
  2513.                                    of this command are also acceptable:
  2514.  
  2515.                                        =*        Displays all of the values
  2516.                                                  stored in a cell's array
  2517.                                                  area - one at a time.
  2518.  
  2519.                                        =(5,9)    Displays elements 5 thru 9
  2520.  
  2521.  
  2522.      SET ELEMENT   (=e<value)      An Equal sign (=) followed by an array
  2523.                                    element number (greater than 0), then a
  2524.                                    Less Than sign (<), and finally a value
  2525.                                    will cause that value (to the right of
  2526.                                    the '<' sign) to be loaded at the
  2527.                                    designated array position.  For example,
  2528.                                    "=7<25" will load the value 25 into
  2529.                                    element position 7 of the cell that is
  2530.                                    highlighted by the Cell Pointer.  The
  2531.                                    following variations of this command may
  2532.                                    also be used:
  2533.  
  2534.                                       =*<0        Set the values of all
  2535.                                                   elements to 0
  2536.  
  2537.                                       =(5,9)<0    Set elements 5 thru 9 to 0
  2538.  
  2539.  
  2540.      CELL TRACE     (~)            A Tilde (~), entered at the Input Line,
  2541.                                    will display the current attribute
  2542.                                    settings for the cell highlighted by
  2543.                                    the Cell Pointer.  It will also 'trace'
  2544.                                    all of the 'direct' cell references made
  2545.                                    within the formula; and, all of the other
  2546.                                    cells within the spreadsheet that use
  2547.                                    this cell's value.
  2548.  
  2549.      FUNCTION KEYS   (~n)          A Tilde (~) followed by a number (ranging
  2550.                                    between 1 and 10) is treated just as
  2551.                                    though the equivalent Function Key was
  2552.                                    pressed (i.e. pressing Function Key <F1>
  2553.                                    has the same affect as entering ~1). This
  2554.                                    command is useful when a keyboard has
  2555.                                    fewer than than the 10 required Function
  2556.                                    Keys.
  2557.  
  2558.  
  2559.  
  2560.                                                   ________________________
  2561.     _____________________________________________/  Chapter 8    FUNCTIONS 
  2562.  
  2563.  
  2564.                               Index to Functions
  2565.  
  2566.             abs(x) . . . . . . 9.1.0  MATH . . . . . . absolute value
  2567.             acos(x)  . . . . . 9.2.0  TRIG . . . . . . arccosine 
  2568.             asin(x)  . . . . . 9.2.0  TRIG . . . . . . arcsine
  2569.             atan(x)    . . . . 9.2.0  TRIG . . . . . . arctangent
  2570.             atan2(x,y) . . . . 9.2.0  TRIG . . . . . . arctangent
  2571.             atof       . . . . 9.6.0  STRING . . . . . string to number
  2572.             ceil(x)    . . . . 9.1.0  MATH . . . . . . ceiling
  2573.             col(x)     . . . . 9.7.0  MISC . . . . . . column-offset
  2574.             cos(x)     . . . . 9.2.0  TRIG . . . . . . cosine
  2575.             cotan(x)   . . . . 9.2.0  TRIG . . . . . . cotangent
  2576.             cterm(l,f,p) . . . 9.3.0  FINANCE  . . . . term (lump sum)
  2577.             date(y,m,d)  . . . 9.4.0  DATE . . . . . . datecode
  2578.             day(dc)    . . . . 9.4.0  DATE . . . . . . day-of-the-month
  2579.             dpm(y,m)   . . . . 9.4.0  DATE . . . . . . days in the month
  2580.             dpy(y)     . . . . 9.4.0  DATE . . . . . . days in the year
  2581.             exp        . . . . 9.1.0  MATH . . . . . . exponential
  2582.             floor      . . . . 9.1.0  MATH . . . . . . floor
  2583.             frac       . . . . 9.1.0  MATH . . . . . . fractional value
  2584.             fv         . . . . 9.3.0  FINANCE  . . . . future value
  2585.             hour       . . . . 9.5.0  TIME. . . . . .. hour
  2586.             index      . . . . 9.6.0  STRING . . . . . locate character
  2587.             int        . . . . 9.1.0  MATH . . . . . . integer value
  2588.             log10      . . . . 9.1.0  MATE . . . . . . base 10 log
  2589.             ln         . . . . 9.1.0  MATH . . . . . . natural log
  2590.             lvl        . . . . 9.7.0  MISC . . . . . . worksheet level offset
  2591.             minute     . . . . 9.5.0  TIME . . . . . . minute
  2592.             month      . . . . 9.4.0  DATE . . . . . . month
  2593.             now        . . . . 9.5.0  TIME . . . . . . current date and time
  2594.             nxdate     . . . . 9.4.0  DATE . . . . . . next date
  2595.             nxtime     . . . . 9.5.0  TIME . . . . . . next time
  2596.             pmt        . . . . 9.3.0  FINANCE  . . . . payment
  2597.             pv         . . . . 9.3.0  FINANCE  . . . . present value
  2598.             rate       . . . . 9.3.0  FINANCE  . . . . interest rate
  2599.             rnd        . . . . 9.1.0  MATH . . . . . . rounds value
  2600.             row        . . . . 9.7.0  MISC . . . . . . row offset
  2601.             second     . . . . 9.5.0  TIME . . . . . . second
  2602.             sin        . . . . 9.2.0  TRIG . . . . . . sine
  2603.             sqrt       . . . . 9.1.0  MATH . . . . . . square root
  2604.             strcat     . . . . 9.6.0  STRING . . . . . string concatenate
  2605.             strcmp     . . . . 9.6.0  STRING . . . . . string compare
  2606.             strcpy     . . . . 9.6.0  STRING . . . . . string copy
  2607.             strlen     . . . . 9.6.0  STRING . . . . . string length
  2608.             strncat    . . . . 9.6.0  STRING . . . . . concatenate n chars
  2609.             strncmp    . . . . 9.6.0  STRING . . . . . compare n chars
  2610.             strncpy    . . . . 9.6.0  STRING . . . . . copy n chars
  2611.             tan        . . . . 9.2.0  TRIG . . . . . . tangent
  2612.             term       . . . . 9.3.0  FINANCE  . . . . interest rate
  2613.             time       . . . . 9.5.0  TIME . . . . . . time 
  2614.             tmdif      . . . . 9.5.0  DATE . . . . . . diff btw two times
  2615.             wkday      . . . . 9.4.0  DATE . . . . . . day-of-the-week
  2616.             year       . . . . 9.4.0  DATE . . . . . . year
  2617.  
  2618.  
  2619.  
  2620.     Section 8.1.0  MATH FUNCTIONS
  2621.  
  2622.             _______________________________________________________________
  2623.             abs (x)
  2624.      
  2625.                 Returns the absolute value of any expression 'x'.
  2626.             _______________________________________________________________
  2627.             ceil (x)
  2628.      
  2629.                 Returns the smallest integral value that is greater than or
  2630.                 equal to the value produced by expression 'x'.
  2631.             _______________________________________________________________
  2632.             exp (x)
  2633.      
  2634.                 Returns the exponential function of any expression 'x'.
  2635.             _______________________________________________________________
  2636.             floor (x)
  2637.      
  2638.                 Returns the largest integral value that is less than or
  2639.                 equal to the value produced by expression 'x'.
  2640.             _______________________________________________________________
  2641.             frac (x)
  2642.  
  2643.                 Returns the fraction part of 'x'.
  2644.             _______________________________________________________________
  2645.             int (x)
  2646.  
  2647.                 Returns the integer part of 'x'.
  2648.  
  2649.             _______________________________________________________________
  2650.             ln (x)
  2651.      
  2652.                 Returns the natural logarithm of any expression 'x'.
  2653.                 An error is returned for values of 'x' that are less than
  2654.                 or equal to 0.
  2655.             _______________________________________________________________
  2656.             log10 (x)
  2657.      
  2658.                 Returns the logarithm to the base 10 of any expression 'x'.
  2659.                 An error is returned for values of 'x' that are less than
  2660.                 or equal to 0.
  2661.             _______________________________________________________________
  2662.             rnd (x,n)
  2663.  
  2664.                 Rounds 'x' to 'n' decimal places, where 'n' can range
  2665.                 between 15 and -15.  If 'n' is negative, it rounds to
  2666.                 the n-th power of 10  (e.g. round(1891,-2) = 1900).
  2667.             _______________________________________________________________
  2668.             sqrt (x)  =  square_root
  2669.      
  2670.                 Returns the square root of any expression 'x'.  An error
  2671.                 is returned for values of 'x' that are less than 0.
  2672.      
  2673.  
  2674.     Section 8.2.0   TRIG FUNCTIONS
  2675.      
  2676.             ________________________________________________________________
  2677.             cos (angle)   = cos          OPTIONAL FORM:   cos (angle,mode)
  2678.             ________________________________________________________________
  2679.             cotan (angle) = cotan        OPTIONAL FORM:   cotan (angle,mode)
  2680.             ________________________________________________________________
  2681.             sin (angle)   = sin          OPTIONAL FORM:   sin (angle,mode)
  2682.             ________________________________________________________________
  2683.             tan (angle)   = tan          OPTIONAL FORM:   tan (angle,mode)
  2684.      
  2685.                 Returns the sin, cos, tan, or cotan of any 'angle' in
  2686.                 radians.  Angles in degrees and grads can also be used by
  2687.                 including the optional 'mode' parameter, where 0=RADIANS
  2688.                 (default), 1=DEGREES, and 2=GRADS.
  2689.      
  2690.             ________________________________________________________________
  2691.             acos (cos)  =  angle           OPTIONAL FORM:   acos (cos,mode)
  2692.             ________________________________________________________________
  2693.             asin (sin)  =  angle           OPTIONAL FORM:   asin (sin,mode)
  2694.             ________________________________________________________________
  2695.             atan (tan)  =  angle           OPTIONAL FORM:   atan (tan,mode)
  2696.             ________________________________________________________________
  2697.             atan2 (x,y)  =  angle          OPTIONAL FORM:   atan2 (x,y,mode)
  2698.      
  2699.                 Returns the arc sin, arc cos or arc tan in radians.  Angles
  2700.                 can also be returned in degrees and grads by including the
  2701.                 optional 'mode' parameter, where 0=RADIANS (default),
  2702.                 1=DEGREES, and 2=GRADS.
  2703.      
  2704.      
  2705.  
  2706.     Section 8.3.0   FINANCIAL FUNCTIONS
  2707.      
  2708.             _______________________________________________________________
  2709.             cterm (interest,fv,pv)  =  term
  2710.  
  2711.                 Calculates the number of periods (term) required for a
  2712.                 lump sum (pv) to reach a future amount (fv) at a given
  2713.                 periodic interest rate.
  2714.      
  2715.                 Example:    +cterm(0.09/12,6543.28,5000.00)  =   36  
  2716.             _______________________________________________________________
  2717.             fv (payment,interest,term)  =  future_value 
  2718.      
  2719.                 Calculates the future value (amount accumulated), given
  2720.                 the size of the payment, the interest rate per period, and
  2721.                 the term (i.e. the total number of periods).
  2722.  
  2723.                 Example:   +fv(159.00,0.09/12,12*3)  =    $6543.28
  2724.             _______________________________________________________________
  2725.             pmt (principle,interest,term)  =  payment
  2726.  
  2727.                 Calculates the size a payment required to pay off the
  2728.                 principle on a loan, given the interest rate per period
  2729.                 and the term (i.e. the total number of periods).
  2730.  
  2731.                 Example:    +pmt(5000.00,0.09/12,12*3)  =   $159.00
  2732.             _______________________________________________________________
  2733.             pv (payment,interest,term)  =  present_value
  2734.  
  2735.                 Calculates the present value (principle of a loan), given
  2736.                 the interest rate per period and the term (i.e. the total
  2737.                 number of periods).
  2738.  
  2739.                 Example:    +pv(159.00,0.09/12,12*3)  =   $5000.04
  2740.             _______________________________________________________________
  2741.             rate (fv,pv,term)  =  interest_rate 
  2742.  
  2743.                 Calculates the interest rate, per period, required to
  2744.                 increase an initial lump sum (pv) to a future value (fv)
  2745.                 over a given number of periods (term).
  2746.      
  2747.                 Example:    +pmt(6543.28,5000.00,12*3)  =   0.0075  
  2748.             _______________________________________________________________
  2749.             term (payment,interest,fv)  =  term 
  2750.  
  2751.                 Calculates the number of periods (term) required to reach a
  2752.                 future value (i.e. an accumulated amount).
  2753.    
  2754.                 Example:   +term(159.00,0.09/12,6543.28)   =   36  
  2755.  
  2756.  
  2757.  
  2758.     ________________________________
  2759.     Section 8.4.0   DATE FUNCTIONS
  2760.  
  2761.  
  2762.             Date and Time values are stored by the spreadsheet in the
  2763.             following format:
  2764.  
  2765.                                yyyyddd.hhmmss
  2766.                         Date _____|      |_____ Time
  2767.  
  2768.                 where:  'yyyy'  equals the year (0000-9999)
  2769.                          'ddd'  equals the day of the year (001-366)
  2770.                           'hh'  equals hours (00-24)
  2771.                           'mm'  equals minutes (00-59)
  2772.                           'ss'  equal seconds (00-60)
  2773.  
  2774.             Example:  1991023.175912   -->   January 23, 1991  17:59:12
  2775.  
  2776.             NOTE:  Legal time values (that can be used with the TIME
  2777.             functions) can range between 0.000000 and 9999365.235959;
  2778.             while legal date values (that can be used with both the TIME
  2779.             and DATE functions), can range between 1.000000 and
  2780.             9999365.235959.  That is, a date must contain a integer value
  2781.             of at least 1 (day 1).
  2782.  
  2783.  
  2784.             _______________________________________________________________
  2785.             date (year,month,day)  =  yyyyddd.hhmmss
  2786.      
  2787.                 Returns the 'datevalue' (yyyyddd.hhmmss), given the year,
  2788.                 month, and day.
  2789.             _______________________________________________________________
  2790.             year (yyyyddd.hhmmss)  =  yyyy
  2791.      
  2792.                 Returns the year (0-9999), given a 'datevalue'
  2793.                 (yyyyddd.hhmmss).
  2794.             _______________________________________________________________
  2795.             month (yyyyddd.hhmmss)  =  month
  2796.      
  2797.                 Returns the month (1-12), given a 'datevalue'
  2798.                 (yyyyddd.hhmmss).
  2799.             _______________________________________________________________
  2800.             day (yyyyddd.hhmmss)  =  day
  2801.      
  2802.                 Returns the day of the month (1-31), given a 'datevalue'
  2803.                 (yyyyddd.hhmmss).
  2804.             _______________________________________________________________
  2805.             wkday (yyyyddd.hhmmss)  =  day-of-week
  2806.      
  2807.                 Returns the day of the week (1=Sunday, 7=Saturday), given
  2808.                 a 'datevalue' (yyyyddd.hhmmss).
  2809.             _______________________________________________________________
  2810.             dpm (year,month)  =  number_of_days_in_month
  2811.      
  2812.                 Returns the number of days in the month (28-31), given the
  2813.                 year and month.
  2814.             _______________________________________________________________
  2815.             dpy (year)  =  number_of_days_in_year
  2816.      
  2817.                 Returns the number of days in the year (365-366), given
  2818.                 the year.
  2819.      
  2820.             _______________________________________________________________
  2821.             nxdate (yyyyddd.hhmmss,days)  =  yyyyddd.hhmmss
  2822.      
  2823.                 Returns the adjusted 'datevalue', given a 'datevalue'
  2824.                 (yyyyddd.hhmmss) and a positive or negative number of days.
  2825.      
  2826.      
  2827.      
  2828.     ________________________________
  2829.     Section 8.5.0   TIME FUNCTIONS
  2830.  
  2831.             _______________________________________________________________
  2832.             now ()  =  yyyyddd.hhmmss
  2833.      
  2834.                 Returns the current 'datevalue' in the following form:
  2835.                 yyyyddd.hhmmss  (where:  'yyyy' = year,  'ddd' = the
  2836.                 day of the year,  'hh' = the hour,  'mm' = the minute,
  2837.                 and 'ss' = the second   (e.g.  1991023.175912   -->
  2838.                 January 23, 1991  17:59:12).
  2839.             _______________________________________________________________
  2840.             time (hh,mm,ss)  =  0.hhmmss
  2841.      
  2842.                 Returns the 'datevalue' (0.hhmmss), given the hour, minute,
  2843.                 and second.
  2844.             _______________________________________________________________
  2845.             hour (yyyyddd.hhmmss)  =  hh
  2846.      
  2847.                 Returns the hour (0-23), given a 'datevalue'
  2848.                 (yyyyddd.hhmmss).
  2849.             _______________________________________________________________
  2850.             minute (ddddyyy.hhmmss)  =  mm
  2851.      
  2852.                 Returns the minute (0-59), given a 'datevalue'
  2853.                 (yyyyddd.hhmmss).
  2854.             _______________________________________________________________
  2855.             second (yyyyddd.hhmmss)  =  ss
  2856.      
  2857.                 Returns the seconds (0-59), given a 'datevalue'
  2858.                 (yyyyddd.hhmmss).
  2859.             _______________________________________________________________
  2860.             nxtime (yyyyddd.hhmmss,seconds)  =  yyyyddd.hhmmss
  2861.      
  2862.                 Returns the adjusted 'datevalue' (hhmmss), given a
  2863.                 'datevalue' (yyyydd.hhmmss) and a positive or negative
  2864.                 number of seconds.
  2865.             _______________________________________________________________
  2866.             tmdif (yyyyddd.hhmmss,YYYYDDD.HHMMSS)  =  seconds
  2867.      
  2868.                  Returns the positive or negative number of SECONDS between 
  2869.                  two 'datevalues' (yyyyddd.hhmmss).
  2870.      
  2871.      
  2872.     ________________________________
  2873.     Section 8.6.0   STRING FUNCTIONS
  2874.      
  2875.             _______________________________________________________________
  2876.             atof (label)  =  value
  2877.  
  2878.                 Converts a character string to it numeric equivalent.
  2879.  
  2880.                     Examples:     atof ("123.55")  =  123.55
  2881.             _______________________________________________________________
  2882.             strcmp (label1,label2)   =   status
  2883.      
  2884.                 Compares 'label1' and 'label2', returning:
  2885.                     (1)  if 'label1' is GREATER than 'label2'
  2886.                     (0)  if 'label1' is EQUAL to 'label2'
  2887.                     (-1) if 'label1' is LESS the 'label2'
  2888.      
  2889.                     Examples:     strcmp ([1,1],"Hello World!")
  2890.                                   strcmp ([1,1],[1,3])
  2891.             _______________________________________________________________
  2892.             strncmp (label1,label2,n)   =   status
  2893.      
  2894.                 Compares the first 'n' characters of 'label1' and 'label2',
  2895.                 returning:
  2896.                     (1)  if 'label1' is GREATER than 'label2'
  2897.                     (0)  if 'label1' is EQUAL to 'label2'
  2898.                     (-1) if 'label1' is LESS the 'label2'
  2899.      
  2900.                     Examples:     strncmp ([1,1],"Hello World!",5)
  2901.                                   strncmp ([1,1],[1,3],5)
  2902.             _______________________________________________________________
  2903.             strlen (label)  =  number_of_characters
  2904.      
  2905.                 Returns the number of characters in a label (string).
  2906.      
  2907.                     Examples:     strlen ("Hello World!")
  2908.                                   strlen ([1,1])
  2909.      
  2910.             _______________________________________________________________
  2911.             index (label,c)  =  pos      OPTIONAL FORM: index(label,c,start) 
  2912.      
  2913.                 Returns the 'position' of the first occurrence of a
  2914.                 character 'c' in a 'label'.  The search can be optionally
  2915.                 started from any location by including that location in
  2916.                 the optional 3rd parameter.
  2917.      
  2918.                  Examples:     index ("Hello World!",'o')  =  5
  2919.                                index ([1,1],'o',6)  =  8
  2920.           
  2921.      
  2922.             _______________________________________________________________
  2923.             strcat (cell,label)   =   errorcode
  2924.      
  2925.                 Appends the contents of a 'label' or a 'string' to another
  2926.                 'cell'.  Returns '0' if successful.  Note, this function
  2927.                 WILL NOT cause other cells to be recalculated as a result
  2928.                 of any change to the cell in the first parameter.
  2929.      
  2930.                     Examples:     strcat([1,1],"Hello World!")
  2931.                                   strcat([1,1],[1,3])
  2932.             _______________________________________________________________
  2933.             strncat (cell,string,n)   =   errorcode
  2934.      
  2935.                 Appends the first 'n' characters from a 'string' to the
  2936.                 label of to another 'cell'.  Returns '0' if successful.
  2937.                 Note, this function WILL NOT cause other cells to be
  2938.                 recalculated as a result of any change to the cell in
  2939.                 the first parameter.
  2940.      
  2941.                     Examples:     strncat([1,1],"Hello World!",5)
  2942.                                   strcat([1,1],[1,3],5)
  2943.             _______________________________________________________________
  2944.             strcpy (cell,string)   =   errorcode
  2945.      
  2946.                 Copies the contents of a cell or of a 'string' to another
  2947.                 'cell'.  Returns '0' if successful.  Note, this function
  2948.                 WILL NOT cause other cells to be recalculated as a result
  2949.                 of any change to the cell in the first parameter.
  2950.      
  2951.                     Examples:     strcpy ([1,1],"Hello World!")
  2952.                                   strcpy ([1,1],[1,3])
  2953.             _______________________________________________________________
  2954.             strncpy (cell,string,n)   =   errorcode
  2955.      
  2956.                 Copies the first 'n' characters of a 'string' to another
  2957.                 'cell'.  Returns '0' if successful.  Note, this this
  2958.                 function WILL NOT cause other cells to be recalculated as
  2959.                 a result of any change to the cell in the first parameter.
  2960.      
  2961.                     Examples:     strncpy ([1,1],"Hello World!",5)
  2962.                                   strncpy ([1,1],[1,3],5)
  2963.           
  2964.      
  2965.      
  2966.     Section 8.7.0   MISC FUNCTIONS
  2967.      
  2968.             ________________________________________________________________
  2969.             col (offset)    =   current_column + offset
  2970.             ________________________________________________________________
  2971.             lvl (offset)    =   current_worksheet_level + offset
  2972.             ________________________________________________________________
  2973.             row (offset)    =   current_row + offset
  2974.      
  2975.                  Adds the 'offset' to the row, column, or worksheet level of
  2976.                  the cell that contains the formula and returns the value.
  2977.